@blackcode_sa/metaestetics-api 1.7.38 → 1.7.39

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.
@@ -1613,6 +1613,49 @@ interface PatientReviewInfo {
1613
1613
  comment?: string;
1614
1614
  reviewedAt: Timestamp;
1615
1615
  }
1616
+ /**
1617
+ * Interface for before/after photos and notes per zone
1618
+ */
1619
+ interface BeforeAfterPerZone {
1620
+ /** URL for before photo or null if not available */
1621
+ before: MediaResource | null;
1622
+ /** URL for after photo or null if not available */
1623
+ after: MediaResource | null;
1624
+ /** Optional note for the zone */
1625
+ note: string | null;
1626
+ }
1627
+ /**
1628
+ * Interface for billing information per zone
1629
+ */
1630
+ interface BillingPerZone {
1631
+ /** Product name/description */
1632
+ Product: string;
1633
+ /** Product ID */
1634
+ ProductId: string | null;
1635
+ /** Quantity used (can be decimal) */
1636
+ Quantity: number;
1637
+ /** Unit of measurement */
1638
+ UnitOfMeasurement: PricingMeasure;
1639
+ /** Unit price for the product */
1640
+ UnitPrice: number;
1641
+ /** Currency for the unit price */
1642
+ UnitCurency: Currency;
1643
+ /** Calculated subtotal */
1644
+ Subtotal: number;
1645
+ /** Optional billing note */
1646
+ Note: string | null;
1647
+ }
1648
+ /**
1649
+ * Interface for appointment metadata containing zone-specific information
1650
+ */
1651
+ interface AppointmentMetadata {
1652
+ /** Array of selected zones for the appointment */
1653
+ selectedZones: string[] | null;
1654
+ /** Map of zone photos with before/after images and notes */
1655
+ zonePhotos: Record<string, BeforeAfterPerZone> | null;
1656
+ /** Map of billing information per zone */
1657
+ zoneBilling: Record<string, BillingPerZone> | null;
1658
+ }
1616
1659
  /**
1617
1660
  * Represents a booked appointment, aggregating key information and relevant procedure rules.
1618
1661
  */
@@ -1692,7 +1735,7 @@ interface Appointment {
1692
1735
  /** NEW: Flag for soft deletion or archiving */
1693
1736
  isArchived?: boolean;
1694
1737
  /** NEW: Metadata for the appointment - used for area selection and photos */
1695
- metadata?: any;
1738
+ metadata?: AppointmentMetadata;
1696
1739
  }
1697
1740
  /**
1698
1741
  * Data needed to create a new Appointment
@@ -1761,7 +1804,7 @@ interface UpdateAppointmentData {
1761
1804
  isArchived?: boolean;
1762
1805
  updatedAt?: FieldValue;
1763
1806
  /** NEW: For updating metadata */
1764
- metadata?: any;
1807
+ metadata?: AppointmentMetadata;
1765
1808
  }
1766
1809
  /**
1767
1810
  * Parameters for searching appointments
@@ -3255,4 +3298,4 @@ declare class AppointmentMailingService extends BaseMailingService {
3255
3298
  */
3256
3299
  declare function freeConsultationInfrastructure(db?: admin.firestore.Firestore): Promise<boolean>;
3257
3300
 
3258
- export { APPOINTMENTS_COLLECTION, type Appointment, AppointmentAggregationService, type AppointmentCancellationEmailData, type AppointmentConfirmationEmailData, type AppointmentEmailDataBase, AppointmentMailingService, type AppointmentMediaItem, type AppointmentReminderNotification, type AppointmentRequestedEmailData, type AppointmentRescheduledProposalEmailData, AppointmentStatus, type AvailableSlot, BaseMailingService, type BaseNotification, BookingAdmin, BookingAvailabilityCalculator, type BookingAvailabilityRequest, type BookingAvailabilityResponse, CalendarAdminService, type Clinic, type ClinicAdminNotificationData, ClinicAggregationService, type ClinicInfo, type ClinicLocation, type CreateAppointmentData, type CreateAppointmentHttpData, type DoctorInfo, DocumentManagerAdminService, type ExistingPractitionerInviteEmailData, ExistingPractitionerInviteMailingService, type FilledDocument, FilledFormsAggregationService, type InitializeAppointmentFormsResult, type LinkedFormInfo, Logger, MediaType, NOTIFICATIONS_COLLECTION, type Notification, NotificationStatus, NotificationType, NotificationsAdmin, type OrchestrateAppointmentCreationData, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, type PatientProfile as Patient, PatientAggregationService, PatientInstructionStatus, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsAdminService, type PatientReviewInfo, PaymentStatus, type PostRequirementNotification, type Practitioner, PractitionerAggregationService, type PractitionerInvite, PractitionerInviteAggregationService, PractitionerInviteMailingService, PractitionerInviteStatus, type PractitionerToken, PractitionerTokenStatus, type PreRequirementNotification, type Procedure, ProcedureAggregationService, type ProcedureExtendedInfo, type ProcedureSummaryInfo, type Review, type ReviewAddedEmailData, type ReviewRequestEmailData, ReviewsAggregationService, type SearchAppointmentsParams, type TimeInterval, type UpdateAppointmentData, UserRole, freeConsultationInfrastructure };
3301
+ export { APPOINTMENTS_COLLECTION, type Appointment, AppointmentAggregationService, type AppointmentCancellationEmailData, type AppointmentConfirmationEmailData, type AppointmentEmailDataBase, AppointmentMailingService, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRequestedEmailData, type AppointmentRescheduledProposalEmailData, AppointmentStatus, type AvailableSlot, BaseMailingService, type BaseNotification, type BeforeAfterPerZone, type BillingPerZone, BookingAdmin, BookingAvailabilityCalculator, type BookingAvailabilityRequest, type BookingAvailabilityResponse, CalendarAdminService, type Clinic, type ClinicAdminNotificationData, ClinicAggregationService, type ClinicInfo, type ClinicLocation, type CreateAppointmentData, type CreateAppointmentHttpData, type DoctorInfo, DocumentManagerAdminService, type ExistingPractitionerInviteEmailData, ExistingPractitionerInviteMailingService, type FilledDocument, FilledFormsAggregationService, type InitializeAppointmentFormsResult, type LinkedFormInfo, Logger, MediaType, NOTIFICATIONS_COLLECTION, type Notification, NotificationStatus, NotificationType, NotificationsAdmin, type OrchestrateAppointmentCreationData, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, type PatientProfile as Patient, PatientAggregationService, PatientInstructionStatus, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsAdminService, type PatientReviewInfo, PaymentStatus, type PostRequirementNotification, type Practitioner, PractitionerAggregationService, type PractitionerInvite, PractitionerInviteAggregationService, PractitionerInviteMailingService, PractitionerInviteStatus, type PractitionerToken, PractitionerTokenStatus, type PreRequirementNotification, type Procedure, ProcedureAggregationService, type ProcedureExtendedInfo, type ProcedureSummaryInfo, type Review, type ReviewAddedEmailData, type ReviewRequestEmailData, ReviewsAggregationService, type SearchAppointmentsParams, type TimeInterval, type UpdateAppointmentData, UserRole, freeConsultationInfrastructure };
@@ -1613,6 +1613,49 @@ interface PatientReviewInfo {
1613
1613
  comment?: string;
1614
1614
  reviewedAt: Timestamp;
1615
1615
  }
1616
+ /**
1617
+ * Interface for before/after photos and notes per zone
1618
+ */
1619
+ interface BeforeAfterPerZone {
1620
+ /** URL for before photo or null if not available */
1621
+ before: MediaResource | null;
1622
+ /** URL for after photo or null if not available */
1623
+ after: MediaResource | null;
1624
+ /** Optional note for the zone */
1625
+ note: string | null;
1626
+ }
1627
+ /**
1628
+ * Interface for billing information per zone
1629
+ */
1630
+ interface BillingPerZone {
1631
+ /** Product name/description */
1632
+ Product: string;
1633
+ /** Product ID */
1634
+ ProductId: string | null;
1635
+ /** Quantity used (can be decimal) */
1636
+ Quantity: number;
1637
+ /** Unit of measurement */
1638
+ UnitOfMeasurement: PricingMeasure;
1639
+ /** Unit price for the product */
1640
+ UnitPrice: number;
1641
+ /** Currency for the unit price */
1642
+ UnitCurency: Currency;
1643
+ /** Calculated subtotal */
1644
+ Subtotal: number;
1645
+ /** Optional billing note */
1646
+ Note: string | null;
1647
+ }
1648
+ /**
1649
+ * Interface for appointment metadata containing zone-specific information
1650
+ */
1651
+ interface AppointmentMetadata {
1652
+ /** Array of selected zones for the appointment */
1653
+ selectedZones: string[] | null;
1654
+ /** Map of zone photos with before/after images and notes */
1655
+ zonePhotos: Record<string, BeforeAfterPerZone> | null;
1656
+ /** Map of billing information per zone */
1657
+ zoneBilling: Record<string, BillingPerZone> | null;
1658
+ }
1616
1659
  /**
1617
1660
  * Represents a booked appointment, aggregating key information and relevant procedure rules.
1618
1661
  */
@@ -1692,7 +1735,7 @@ interface Appointment {
1692
1735
  /** NEW: Flag for soft deletion or archiving */
1693
1736
  isArchived?: boolean;
1694
1737
  /** NEW: Metadata for the appointment - used for area selection and photos */
1695
- metadata?: any;
1738
+ metadata?: AppointmentMetadata;
1696
1739
  }
1697
1740
  /**
1698
1741
  * Data needed to create a new Appointment
@@ -1761,7 +1804,7 @@ interface UpdateAppointmentData {
1761
1804
  isArchived?: boolean;
1762
1805
  updatedAt?: FieldValue;
1763
1806
  /** NEW: For updating metadata */
1764
- metadata?: any;
1807
+ metadata?: AppointmentMetadata;
1765
1808
  }
1766
1809
  /**
1767
1810
  * Parameters for searching appointments
@@ -3255,4 +3298,4 @@ declare class AppointmentMailingService extends BaseMailingService {
3255
3298
  */
3256
3299
  declare function freeConsultationInfrastructure(db?: admin.firestore.Firestore): Promise<boolean>;
3257
3300
 
3258
- export { APPOINTMENTS_COLLECTION, type Appointment, AppointmentAggregationService, type AppointmentCancellationEmailData, type AppointmentConfirmationEmailData, type AppointmentEmailDataBase, AppointmentMailingService, type AppointmentMediaItem, type AppointmentReminderNotification, type AppointmentRequestedEmailData, type AppointmentRescheduledProposalEmailData, AppointmentStatus, type AvailableSlot, BaseMailingService, type BaseNotification, BookingAdmin, BookingAvailabilityCalculator, type BookingAvailabilityRequest, type BookingAvailabilityResponse, CalendarAdminService, type Clinic, type ClinicAdminNotificationData, ClinicAggregationService, type ClinicInfo, type ClinicLocation, type CreateAppointmentData, type CreateAppointmentHttpData, type DoctorInfo, DocumentManagerAdminService, type ExistingPractitionerInviteEmailData, ExistingPractitionerInviteMailingService, type FilledDocument, FilledFormsAggregationService, type InitializeAppointmentFormsResult, type LinkedFormInfo, Logger, MediaType, NOTIFICATIONS_COLLECTION, type Notification, NotificationStatus, NotificationType, NotificationsAdmin, type OrchestrateAppointmentCreationData, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, type PatientProfile as Patient, PatientAggregationService, PatientInstructionStatus, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsAdminService, type PatientReviewInfo, PaymentStatus, type PostRequirementNotification, type Practitioner, PractitionerAggregationService, type PractitionerInvite, PractitionerInviteAggregationService, PractitionerInviteMailingService, PractitionerInviteStatus, type PractitionerToken, PractitionerTokenStatus, type PreRequirementNotification, type Procedure, ProcedureAggregationService, type ProcedureExtendedInfo, type ProcedureSummaryInfo, type Review, type ReviewAddedEmailData, type ReviewRequestEmailData, ReviewsAggregationService, type SearchAppointmentsParams, type TimeInterval, type UpdateAppointmentData, UserRole, freeConsultationInfrastructure };
3301
+ export { APPOINTMENTS_COLLECTION, type Appointment, AppointmentAggregationService, type AppointmentCancellationEmailData, type AppointmentConfirmationEmailData, type AppointmentEmailDataBase, AppointmentMailingService, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRequestedEmailData, type AppointmentRescheduledProposalEmailData, AppointmentStatus, type AvailableSlot, BaseMailingService, type BaseNotification, type BeforeAfterPerZone, type BillingPerZone, BookingAdmin, BookingAvailabilityCalculator, type BookingAvailabilityRequest, type BookingAvailabilityResponse, CalendarAdminService, type Clinic, type ClinicAdminNotificationData, ClinicAggregationService, type ClinicInfo, type ClinicLocation, type CreateAppointmentData, type CreateAppointmentHttpData, type DoctorInfo, DocumentManagerAdminService, type ExistingPractitionerInviteEmailData, ExistingPractitionerInviteMailingService, type FilledDocument, FilledFormsAggregationService, type InitializeAppointmentFormsResult, type LinkedFormInfo, Logger, MediaType, NOTIFICATIONS_COLLECTION, type Notification, NotificationStatus, NotificationType, NotificationsAdmin, type OrchestrateAppointmentCreationData, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, type PatientProfile as Patient, PatientAggregationService, PatientInstructionStatus, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsAdminService, type PatientReviewInfo, PaymentStatus, type PostRequirementNotification, type Practitioner, PractitionerAggregationService, type PractitionerInvite, PractitionerInviteAggregationService, PractitionerInviteMailingService, PractitionerInviteStatus, type PractitionerToken, PractitionerTokenStatus, type PreRequirementNotification, type Procedure, ProcedureAggregationService, type ProcedureExtendedInfo, type ProcedureSummaryInfo, type Review, type ReviewAddedEmailData, type ReviewRequestEmailData, ReviewsAggregationService, type SearchAppointmentsParams, type TimeInterval, type UpdateAppointmentData, UserRole, freeConsultationInfrastructure };
package/dist/index.d.mts CHANGED
@@ -4689,6 +4689,49 @@ interface PatientReviewInfo {
4689
4689
  comment?: string;
4690
4690
  reviewedAt: Timestamp;
4691
4691
  }
4692
+ /**
4693
+ * Interface for before/after photos and notes per zone
4694
+ */
4695
+ interface BeforeAfterPerZone {
4696
+ /** URL for before photo or null if not available */
4697
+ before: MediaResource | null;
4698
+ /** URL for after photo or null if not available */
4699
+ after: MediaResource | null;
4700
+ /** Optional note for the zone */
4701
+ note: string | null;
4702
+ }
4703
+ /**
4704
+ * Interface for billing information per zone
4705
+ */
4706
+ interface BillingPerZone {
4707
+ /** Product name/description */
4708
+ Product: string;
4709
+ /** Product ID */
4710
+ ProductId: string | null;
4711
+ /** Quantity used (can be decimal) */
4712
+ Quantity: number;
4713
+ /** Unit of measurement */
4714
+ UnitOfMeasurement: PricingMeasure;
4715
+ /** Unit price for the product */
4716
+ UnitPrice: number;
4717
+ /** Currency for the unit price */
4718
+ UnitCurency: Currency;
4719
+ /** Calculated subtotal */
4720
+ Subtotal: number;
4721
+ /** Optional billing note */
4722
+ Note: string | null;
4723
+ }
4724
+ /**
4725
+ * Interface for appointment metadata containing zone-specific information
4726
+ */
4727
+ interface AppointmentMetadata {
4728
+ /** Array of selected zones for the appointment */
4729
+ selectedZones: string[] | null;
4730
+ /** Map of zone photos with before/after images and notes */
4731
+ zonePhotos: Record<string, BeforeAfterPerZone> | null;
4732
+ /** Map of billing information per zone */
4733
+ zoneBilling: Record<string, BillingPerZone> | null;
4734
+ }
4692
4735
  /**
4693
4736
  * Represents a booked appointment, aggregating key information and relevant procedure rules.
4694
4737
  */
@@ -4768,7 +4811,7 @@ interface Appointment {
4768
4811
  /** NEW: Flag for soft deletion or archiving */
4769
4812
  isArchived?: boolean;
4770
4813
  /** NEW: Metadata for the appointment - used for area selection and photos */
4771
- metadata?: any;
4814
+ metadata?: AppointmentMetadata;
4772
4815
  }
4773
4816
  /**
4774
4817
  * Data needed to create a new Appointment
@@ -4837,7 +4880,7 @@ interface UpdateAppointmentData {
4837
4880
  isArchived?: boolean;
4838
4881
  updatedAt?: FieldValue;
4839
4882
  /** NEW: For updating metadata */
4840
- metadata?: any;
4883
+ metadata?: AppointmentMetadata;
4841
4884
  }
4842
4885
  /**
4843
4886
  * Parameters for searching appointments
@@ -5035,7 +5078,84 @@ declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5035
5078
  }>>, z.ZodAny]>>;
5036
5079
  isArchived: z.ZodOptional<z.ZodBoolean>;
5037
5080
  updatedAt: z.ZodOptional<z.ZodAny>;
5038
- metadata: z.ZodOptional<z.ZodAny>;
5081
+ metadata: z.ZodOptional<z.ZodObject<{
5082
+ selectedZones: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
5083
+ zonePhotos: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
5084
+ before: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodType<File, z.ZodTypeDef, File>, z.ZodType<Blob, z.ZodTypeDef, Blob>]>>;
5085
+ after: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodType<File, z.ZodTypeDef, File>, z.ZodType<Blob, z.ZodTypeDef, Blob>]>>;
5086
+ note: z.ZodNullable<z.ZodString>;
5087
+ }, "strip", z.ZodTypeAny, {
5088
+ before: string | File | Blob | null;
5089
+ after: string | File | Blob | null;
5090
+ note: string | null;
5091
+ }, {
5092
+ before: string | File | Blob | null;
5093
+ after: string | File | Blob | null;
5094
+ note: string | null;
5095
+ }>>>;
5096
+ zoneBilling: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodObject<{
5097
+ Product: z.ZodString;
5098
+ ProductId: z.ZodNullable<z.ZodString>;
5099
+ Quantity: z.ZodNumber;
5100
+ UnitOfMeasurement: z.ZodNativeEnum<typeof PricingMeasure>;
5101
+ UnitPrice: z.ZodNumber;
5102
+ UnitCurency: z.ZodNativeEnum<typeof Currency>;
5103
+ Subtotal: z.ZodNumber;
5104
+ Note: z.ZodNullable<z.ZodString>;
5105
+ }, "strip", z.ZodTypeAny, {
5106
+ Product: string;
5107
+ ProductId: string | null;
5108
+ Quantity: number;
5109
+ UnitOfMeasurement: PricingMeasure;
5110
+ UnitPrice: number;
5111
+ UnitCurency: Currency;
5112
+ Subtotal: number;
5113
+ Note: string | null;
5114
+ }, {
5115
+ Product: string;
5116
+ ProductId: string | null;
5117
+ Quantity: number;
5118
+ UnitOfMeasurement: PricingMeasure;
5119
+ UnitPrice: number;
5120
+ UnitCurency: Currency;
5121
+ Subtotal: number;
5122
+ Note: string | null;
5123
+ }>>>;
5124
+ }, "strip", z.ZodTypeAny, {
5125
+ selectedZones: string[] | null;
5126
+ zonePhotos: Record<string, {
5127
+ before: string | File | Blob | null;
5128
+ after: string | File | Blob | null;
5129
+ note: string | null;
5130
+ }> | null;
5131
+ zoneBilling: Record<string, {
5132
+ Product: string;
5133
+ ProductId: string | null;
5134
+ Quantity: number;
5135
+ UnitOfMeasurement: PricingMeasure;
5136
+ UnitPrice: number;
5137
+ UnitCurency: Currency;
5138
+ Subtotal: number;
5139
+ Note: string | null;
5140
+ }> | null;
5141
+ }, {
5142
+ selectedZones: string[] | null;
5143
+ zonePhotos: Record<string, {
5144
+ before: string | File | Blob | null;
5145
+ after: string | File | Blob | null;
5146
+ note: string | null;
5147
+ }> | null;
5148
+ zoneBilling: Record<string, {
5149
+ Product: string;
5150
+ ProductId: string | null;
5151
+ Quantity: number;
5152
+ UnitOfMeasurement: PricingMeasure;
5153
+ UnitPrice: number;
5154
+ UnitCurency: Currency;
5155
+ Subtotal: number;
5156
+ Note: string | null;
5157
+ }> | null;
5158
+ }>>;
5039
5159
  }, "strip", z.ZodTypeAny, {
5040
5160
  updatedAt?: any;
5041
5161
  status?: AppointmentStatus | undefined;
@@ -5065,7 +5185,24 @@ declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5065
5185
  reviewInfo?: any;
5066
5186
  finalizedDetails?: any;
5067
5187
  isArchived?: boolean | undefined;
5068
- metadata?: any;
5188
+ metadata?: {
5189
+ selectedZones: string[] | null;
5190
+ zonePhotos: Record<string, {
5191
+ before: string | File | Blob | null;
5192
+ after: string | File | Blob | null;
5193
+ note: string | null;
5194
+ }> | null;
5195
+ zoneBilling: Record<string, {
5196
+ Product: string;
5197
+ ProductId: string | null;
5198
+ Quantity: number;
5199
+ UnitOfMeasurement: PricingMeasure;
5200
+ UnitPrice: number;
5201
+ UnitCurency: Currency;
5202
+ Subtotal: number;
5203
+ Note: string | null;
5204
+ }> | null;
5205
+ } | undefined;
5069
5206
  }, {
5070
5207
  updatedAt?: any;
5071
5208
  status?: AppointmentStatus | undefined;
@@ -5095,7 +5232,24 @@ declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5095
5232
  reviewInfo?: any;
5096
5233
  finalizedDetails?: any;
5097
5234
  isArchived?: boolean | undefined;
5098
- metadata?: any;
5235
+ metadata?: {
5236
+ selectedZones: string[] | null;
5237
+ zonePhotos: Record<string, {
5238
+ before: string | File | Blob | null;
5239
+ after: string | File | Blob | null;
5240
+ note: string | null;
5241
+ }> | null;
5242
+ zoneBilling: Record<string, {
5243
+ Product: string;
5244
+ ProductId: string | null;
5245
+ Quantity: number;
5246
+ UnitOfMeasurement: PricingMeasure;
5247
+ UnitPrice: number;
5248
+ UnitCurency: Currency;
5249
+ Subtotal: number;
5250
+ Note: string | null;
5251
+ }> | null;
5252
+ } | undefined;
5099
5253
  }>, {
5100
5254
  updatedAt?: any;
5101
5255
  status?: AppointmentStatus | undefined;
@@ -5125,7 +5279,24 @@ declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5125
5279
  reviewInfo?: any;
5126
5280
  finalizedDetails?: any;
5127
5281
  isArchived?: boolean | undefined;
5128
- metadata?: any;
5282
+ metadata?: {
5283
+ selectedZones: string[] | null;
5284
+ zonePhotos: Record<string, {
5285
+ before: string | File | Blob | null;
5286
+ after: string | File | Blob | null;
5287
+ note: string | null;
5288
+ }> | null;
5289
+ zoneBilling: Record<string, {
5290
+ Product: string;
5291
+ ProductId: string | null;
5292
+ Quantity: number;
5293
+ UnitOfMeasurement: PricingMeasure;
5294
+ UnitPrice: number;
5295
+ UnitCurency: Currency;
5296
+ Subtotal: number;
5297
+ Note: string | null;
5298
+ }> | null;
5299
+ } | undefined;
5129
5300
  }, {
5130
5301
  updatedAt?: any;
5131
5302
  status?: AppointmentStatus | undefined;
@@ -5155,7 +5326,24 @@ declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5155
5326
  reviewInfo?: any;
5156
5327
  finalizedDetails?: any;
5157
5328
  isArchived?: boolean | undefined;
5158
- metadata?: any;
5329
+ metadata?: {
5330
+ selectedZones: string[] | null;
5331
+ zonePhotos: Record<string, {
5332
+ before: string | File | Blob | null;
5333
+ after: string | File | Blob | null;
5334
+ note: string | null;
5335
+ }> | null;
5336
+ zoneBilling: Record<string, {
5337
+ Product: string;
5338
+ ProductId: string | null;
5339
+ Quantity: number;
5340
+ UnitOfMeasurement: PricingMeasure;
5341
+ UnitPrice: number;
5342
+ UnitCurency: Currency;
5343
+ Subtotal: number;
5344
+ Note: string | null;
5345
+ }> | null;
5346
+ } | undefined;
5159
5347
  }>, {
5160
5348
  updatedAt?: any;
5161
5349
  status?: AppointmentStatus | undefined;
@@ -5185,7 +5373,24 @@ declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5185
5373
  reviewInfo?: any;
5186
5374
  finalizedDetails?: any;
5187
5375
  isArchived?: boolean | undefined;
5188
- metadata?: any;
5376
+ metadata?: {
5377
+ selectedZones: string[] | null;
5378
+ zonePhotos: Record<string, {
5379
+ before: string | File | Blob | null;
5380
+ after: string | File | Blob | null;
5381
+ note: string | null;
5382
+ }> | null;
5383
+ zoneBilling: Record<string, {
5384
+ Product: string;
5385
+ ProductId: string | null;
5386
+ Quantity: number;
5387
+ UnitOfMeasurement: PricingMeasure;
5388
+ UnitPrice: number;
5389
+ UnitCurency: Currency;
5390
+ Subtotal: number;
5391
+ Note: string | null;
5392
+ }> | null;
5393
+ } | undefined;
5189
5394
  }, {
5190
5395
  updatedAt?: any;
5191
5396
  status?: AppointmentStatus | undefined;
@@ -5215,7 +5420,24 @@ declare const updateAppointmentSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
5215
5420
  reviewInfo?: any;
5216
5421
  finalizedDetails?: any;
5217
5422
  isArchived?: boolean | undefined;
5218
- metadata?: any;
5423
+ metadata?: {
5424
+ selectedZones: string[] | null;
5425
+ zonePhotos: Record<string, {
5426
+ before: string | File | Blob | null;
5427
+ after: string | File | Blob | null;
5428
+ note: string | null;
5429
+ }> | null;
5430
+ zoneBilling: Record<string, {
5431
+ Product: string;
5432
+ ProductId: string | null;
5433
+ Quantity: number;
5434
+ UnitOfMeasurement: PricingMeasure;
5435
+ UnitPrice: number;
5436
+ UnitCurency: Currency;
5437
+ Subtotal: number;
5438
+ Note: string | null;
5439
+ }> | null;
5440
+ } | undefined;
5219
5441
  }>;
5220
5442
  /**
5221
5443
  * Schema for validating appointment search parameters
@@ -20061,4 +20283,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
20061
20283
  } | undefined;
20062
20284
  }>;
20063
20285
 
20064
- 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 PatientProfileForDoctor, 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 };
20286
+ 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 AppointmentMetadata, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BeforeAfterPerZone, type BillingPerZone, 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 PatientProfileForDoctor, 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 };