@blackcode_sa/metaestetics-api 1.12.0 → 1.12.2

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.
@@ -698,6 +698,38 @@ declare enum Currency {
698
698
  AUD = "AUD"
699
699
  }
700
700
 
701
+ /**
702
+ * @fileoverview Defines the ProcedureProduct type, which represents a product associated with a procedure,
703
+ * including its pricing information. This is used to allow procedures to have multiple products with different prices.
704
+ * @packageDocumentation
705
+ */
706
+
707
+ /**
708
+ * Represents a product associated with a procedure, including its specific pricing information.
709
+ */
710
+ interface ProcedureProduct {
711
+ /**
712
+ * The product used in the procedure.
713
+ * @see {@link Product}
714
+ */
715
+ product: Product;
716
+ /**
717
+ * The price of the procedure when using this specific product.
718
+ */
719
+ price: number;
720
+ /**
721
+ * The currency for the price of this product.
722
+ * @see {@link Currency}
723
+ */
724
+ currency: Currency;
725
+ /**
726
+ * How the price is measured (e.g., per ml, per zone).
727
+ * @see {@link PricingMeasure}
728
+ */
729
+ pricingMeasure: PricingMeasure;
730
+ isDefault?: boolean;
731
+ }
732
+
701
733
  /**
702
734
  * Type that allows a field to be either a URL string or a File object
703
735
  */
@@ -726,15 +758,16 @@ interface Procedure {
726
758
  subcategory: Subcategory;
727
759
  /** Technology used in this procedure */
728
760
  technology: Technology;
729
- /** Product used in this procedure */
761
+ /** Default product used in this procedure */
730
762
  product: Product;
731
- /** Price of the procedure */
763
+ /** Default price of the procedure */
732
764
  price: number;
733
765
  /** Currency for the price */
734
766
  currency: Currency;
735
- /** How the price is measured (per ml, per zone, etc.) */
767
+ /** How the price is measured (per ml, per zone, etc.) - for default product*/
736
768
  pricingMeasure: PricingMeasure;
737
769
  /** Duration of the procedure in minutes */
770
+ productsMetadata: ProcedureProduct[];
738
771
  duration: number;
739
772
  /** Blocking conditions that prevent this procedure */
740
773
  blockingConditions: BlockingCondition[];
@@ -698,6 +698,38 @@ declare enum Currency {
698
698
  AUD = "AUD"
699
699
  }
700
700
 
701
+ /**
702
+ * @fileoverview Defines the ProcedureProduct type, which represents a product associated with a procedure,
703
+ * including its pricing information. This is used to allow procedures to have multiple products with different prices.
704
+ * @packageDocumentation
705
+ */
706
+
707
+ /**
708
+ * Represents a product associated with a procedure, including its specific pricing information.
709
+ */
710
+ interface ProcedureProduct {
711
+ /**
712
+ * The product used in the procedure.
713
+ * @see {@link Product}
714
+ */
715
+ product: Product;
716
+ /**
717
+ * The price of the procedure when using this specific product.
718
+ */
719
+ price: number;
720
+ /**
721
+ * The currency for the price of this product.
722
+ * @see {@link Currency}
723
+ */
724
+ currency: Currency;
725
+ /**
726
+ * How the price is measured (e.g., per ml, per zone).
727
+ * @see {@link PricingMeasure}
728
+ */
729
+ pricingMeasure: PricingMeasure;
730
+ isDefault?: boolean;
731
+ }
732
+
701
733
  /**
702
734
  * Type that allows a field to be either a URL string or a File object
703
735
  */
@@ -726,15 +758,16 @@ interface Procedure {
726
758
  subcategory: Subcategory;
727
759
  /** Technology used in this procedure */
728
760
  technology: Technology;
729
- /** Product used in this procedure */
761
+ /** Default product used in this procedure */
730
762
  product: Product;
731
- /** Price of the procedure */
763
+ /** Default price of the procedure */
732
764
  price: number;
733
765
  /** Currency for the price */
734
766
  currency: Currency;
735
- /** How the price is measured (per ml, per zone, etc.) */
767
+ /** How the price is measured (per ml, per zone, etc.) - for default product*/
736
768
  pricingMeasure: PricingMeasure;
737
769
  /** Duration of the procedure in minutes */
770
+ productsMetadata: ProcedureProduct[];
738
771
  duration: number;
739
772
  /** Blocking conditions that prevent this procedure */
740
773
  blockingConditions: BlockingCondition[];
@@ -991,6 +991,38 @@ declare enum TreatmentBenefit {
991
991
  CIRCULATION_IMPROVEMENT = "circulation_improvement"
992
992
  }
993
993
 
994
+ /**
995
+ * @fileoverview Defines the ProcedureProduct type, which represents a product associated with a procedure,
996
+ * including its pricing information. This is used to allow procedures to have multiple products with different prices.
997
+ * @packageDocumentation
998
+ */
999
+
1000
+ /**
1001
+ * Represents a product associated with a procedure, including its specific pricing information.
1002
+ */
1003
+ interface ProcedureProduct {
1004
+ /**
1005
+ * The product used in the procedure.
1006
+ * @see {@link Product}
1007
+ */
1008
+ product: Product;
1009
+ /**
1010
+ * The price of the procedure when using this specific product.
1011
+ */
1012
+ price: number;
1013
+ /**
1014
+ * The currency for the price of this product.
1015
+ * @see {@link Currency}
1016
+ */
1017
+ currency: Currency;
1018
+ /**
1019
+ * How the price is measured (e.g., per ml, per zone).
1020
+ * @see {@link PricingMeasure}
1021
+ */
1022
+ pricingMeasure: PricingMeasure;
1023
+ isDefault?: boolean;
1024
+ }
1025
+
994
1026
  /**
995
1027
  * Type that allows a field to be either a URL string or a File object
996
1028
  */
@@ -6182,4 +6214,4 @@ declare class InvalidTreatmentBenefitError extends TreatmentBenefitError {
6182
6214
  constructor(benefit: string);
6183
6215
  }
6184
6216
 
6185
- export { BRANDS_COLLECTION, BackofficeError, BlockingCondition, BlockingConditionError, type Brand, BrandService, CATEGORIES_COLLECTION, type Category, CategoryError, CategoryNotFoundError, CategoryService, CertificationLevel, type CertificationRequirement, CertificationSpecialty, CircularReferenceError, ConstantsService, Contraindication, type ContraindicationDynamic, ContraindicationError, type ContraindicationsDocument, type CreateDocumentTemplateData, Currency, DEFAULT_CERTIFICATION_REQUIREMENT, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateServiceBackoffice, DynamicVariable, FILLED_DOCUMENTS_COLLECTION, HeadingLevel, type IProductService, type ITechnologyService, InvalidBlockingConditionError, InvalidCategoryDataError, InvalidContraindicationError, InvalidHierarchyError, InvalidRequirementDataError, InvalidSubcategoryDataError, InvalidTechnologyDataError, InvalidTimeframeError, InvalidTreatmentBenefitError, ListType, PRODUCTS_COLLECTION, PricingMeasure, ProcedureFamily, type Product, ProductService, REQUIREMENTS_COLLECTION, RelationshipError, type Requirement, RequirementError, type RequirementImportance, RequirementNotFoundError, RequirementService, RequirementType, SUBCATEGORIES_COLLECTION, type Subcategory, SubcategoryError, SubcategoryNotFoundError, SubcategoryService, TECHNOLOGIES_COLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyError, TechnologyNotFoundError, type TechnologyRequirements, TechnologyService, type TimeFrame, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, TreatmentBenefitError, type TreatmentBenefitsDocument, type UpdateDocumentTemplateData, blockingConditionSchemaBackoffice, categorySchema, categoryUpdateSchema, certificationLevelSchema, certificationRequirementSchema, certificationSpecialtySchema, contraindicationDynamicSchema, contraindicationSchemaBackoffice, createDocumentTemplateSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, procedureFamilySchemaBackoffice, requirementSchema, requirementTypeSchema, requirementUpdateSchema, subcategorySchema, subcategoryUpdateSchema, technologyRequirementsSchema, technologySchema, technologyUpdateSchema, timeUnitSchemaBackoffice, timeframeSchema, treatmentBenefitDynamicSchema, treatmentBenefitSchemaBackoffice, updateDocumentTemplateSchema };
6217
+ export { BRANDS_COLLECTION, BackofficeError, BlockingCondition, BlockingConditionError, type Brand, BrandService, CATEGORIES_COLLECTION, type Category, CategoryError, CategoryNotFoundError, CategoryService, CertificationLevel, type CertificationRequirement, CertificationSpecialty, CircularReferenceError, ConstantsService, Contraindication, type ContraindicationDynamic, ContraindicationError, type ContraindicationsDocument, type CreateDocumentTemplateData, Currency, DEFAULT_CERTIFICATION_REQUIREMENT, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateServiceBackoffice, DynamicVariable, FILLED_DOCUMENTS_COLLECTION, HeadingLevel, type IProductService, type ITechnologyService, InvalidBlockingConditionError, InvalidCategoryDataError, InvalidContraindicationError, InvalidHierarchyError, InvalidRequirementDataError, InvalidSubcategoryDataError, InvalidTechnologyDataError, InvalidTimeframeError, InvalidTreatmentBenefitError, ListType, PRODUCTS_COLLECTION, PricingMeasure, ProcedureFamily, type ProcedureProduct, type Product, ProductService, REQUIREMENTS_COLLECTION, RelationshipError, type Requirement, RequirementError, type RequirementImportance, RequirementNotFoundError, RequirementService, RequirementType, SUBCATEGORIES_COLLECTION, type Subcategory, SubcategoryError, SubcategoryNotFoundError, SubcategoryService, TECHNOLOGIES_COLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyError, TechnologyNotFoundError, type TechnologyRequirements, TechnologyService, type TimeFrame, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, TreatmentBenefitError, type TreatmentBenefitsDocument, type UpdateDocumentTemplateData, blockingConditionSchemaBackoffice, categorySchema, categoryUpdateSchema, certificationLevelSchema, certificationRequirementSchema, certificationSpecialtySchema, contraindicationDynamicSchema, contraindicationSchemaBackoffice, createDocumentTemplateSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, procedureFamilySchemaBackoffice, requirementSchema, requirementTypeSchema, requirementUpdateSchema, subcategorySchema, subcategoryUpdateSchema, technologyRequirementsSchema, technologySchema, technologyUpdateSchema, timeUnitSchemaBackoffice, timeframeSchema, treatmentBenefitDynamicSchema, treatmentBenefitSchemaBackoffice, updateDocumentTemplateSchema };
@@ -991,6 +991,38 @@ declare enum TreatmentBenefit {
991
991
  CIRCULATION_IMPROVEMENT = "circulation_improvement"
992
992
  }
993
993
 
994
+ /**
995
+ * @fileoverview Defines the ProcedureProduct type, which represents a product associated with a procedure,
996
+ * including its pricing information. This is used to allow procedures to have multiple products with different prices.
997
+ * @packageDocumentation
998
+ */
999
+
1000
+ /**
1001
+ * Represents a product associated with a procedure, including its specific pricing information.
1002
+ */
1003
+ interface ProcedureProduct {
1004
+ /**
1005
+ * The product used in the procedure.
1006
+ * @see {@link Product}
1007
+ */
1008
+ product: Product;
1009
+ /**
1010
+ * The price of the procedure when using this specific product.
1011
+ */
1012
+ price: number;
1013
+ /**
1014
+ * The currency for the price of this product.
1015
+ * @see {@link Currency}
1016
+ */
1017
+ currency: Currency;
1018
+ /**
1019
+ * How the price is measured (e.g., per ml, per zone).
1020
+ * @see {@link PricingMeasure}
1021
+ */
1022
+ pricingMeasure: PricingMeasure;
1023
+ isDefault?: boolean;
1024
+ }
1025
+
994
1026
  /**
995
1027
  * Type that allows a field to be either a URL string or a File object
996
1028
  */
@@ -6182,4 +6214,4 @@ declare class InvalidTreatmentBenefitError extends TreatmentBenefitError {
6182
6214
  constructor(benefit: string);
6183
6215
  }
6184
6216
 
6185
- export { BRANDS_COLLECTION, BackofficeError, BlockingCondition, BlockingConditionError, type Brand, BrandService, CATEGORIES_COLLECTION, type Category, CategoryError, CategoryNotFoundError, CategoryService, CertificationLevel, type CertificationRequirement, CertificationSpecialty, CircularReferenceError, ConstantsService, Contraindication, type ContraindicationDynamic, ContraindicationError, type ContraindicationsDocument, type CreateDocumentTemplateData, Currency, DEFAULT_CERTIFICATION_REQUIREMENT, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateServiceBackoffice, DynamicVariable, FILLED_DOCUMENTS_COLLECTION, HeadingLevel, type IProductService, type ITechnologyService, InvalidBlockingConditionError, InvalidCategoryDataError, InvalidContraindicationError, InvalidHierarchyError, InvalidRequirementDataError, InvalidSubcategoryDataError, InvalidTechnologyDataError, InvalidTimeframeError, InvalidTreatmentBenefitError, ListType, PRODUCTS_COLLECTION, PricingMeasure, ProcedureFamily, type Product, ProductService, REQUIREMENTS_COLLECTION, RelationshipError, type Requirement, RequirementError, type RequirementImportance, RequirementNotFoundError, RequirementService, RequirementType, SUBCATEGORIES_COLLECTION, type Subcategory, SubcategoryError, SubcategoryNotFoundError, SubcategoryService, TECHNOLOGIES_COLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyError, TechnologyNotFoundError, type TechnologyRequirements, TechnologyService, type TimeFrame, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, TreatmentBenefitError, type TreatmentBenefitsDocument, type UpdateDocumentTemplateData, blockingConditionSchemaBackoffice, categorySchema, categoryUpdateSchema, certificationLevelSchema, certificationRequirementSchema, certificationSpecialtySchema, contraindicationDynamicSchema, contraindicationSchemaBackoffice, createDocumentTemplateSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, procedureFamilySchemaBackoffice, requirementSchema, requirementTypeSchema, requirementUpdateSchema, subcategorySchema, subcategoryUpdateSchema, technologyRequirementsSchema, technologySchema, technologyUpdateSchema, timeUnitSchemaBackoffice, timeframeSchema, treatmentBenefitDynamicSchema, treatmentBenefitSchemaBackoffice, updateDocumentTemplateSchema };
6217
+ export { BRANDS_COLLECTION, BackofficeError, BlockingCondition, BlockingConditionError, type Brand, BrandService, CATEGORIES_COLLECTION, type Category, CategoryError, CategoryNotFoundError, CategoryService, CertificationLevel, type CertificationRequirement, CertificationSpecialty, CircularReferenceError, ConstantsService, Contraindication, type ContraindicationDynamic, ContraindicationError, type ContraindicationsDocument, type CreateDocumentTemplateData, Currency, DEFAULT_CERTIFICATION_REQUIREMENT, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateServiceBackoffice, DynamicVariable, FILLED_DOCUMENTS_COLLECTION, HeadingLevel, type IProductService, type ITechnologyService, InvalidBlockingConditionError, InvalidCategoryDataError, InvalidContraindicationError, InvalidHierarchyError, InvalidRequirementDataError, InvalidSubcategoryDataError, InvalidTechnologyDataError, InvalidTimeframeError, InvalidTreatmentBenefitError, ListType, PRODUCTS_COLLECTION, PricingMeasure, ProcedureFamily, type ProcedureProduct, type Product, ProductService, REQUIREMENTS_COLLECTION, RelationshipError, type Requirement, RequirementError, type RequirementImportance, RequirementNotFoundError, RequirementService, RequirementType, SUBCATEGORIES_COLLECTION, type Subcategory, SubcategoryError, SubcategoryNotFoundError, SubcategoryService, TECHNOLOGIES_COLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyError, TechnologyNotFoundError, type TechnologyRequirements, TechnologyService, type TimeFrame, TimeUnit, TreatmentBenefit, type TreatmentBenefitDynamic, TreatmentBenefitError, type TreatmentBenefitsDocument, type UpdateDocumentTemplateData, blockingConditionSchemaBackoffice, categorySchema, categoryUpdateSchema, certificationLevelSchema, certificationRequirementSchema, certificationSpecialtySchema, contraindicationDynamicSchema, contraindicationSchemaBackoffice, createDocumentTemplateSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, procedureFamilySchemaBackoffice, requirementSchema, requirementTypeSchema, requirementUpdateSchema, subcategorySchema, subcategoryUpdateSchema, technologyRequirementsSchema, technologySchema, technologyUpdateSchema, timeUnitSchemaBackoffice, timeframeSchema, treatmentBenefitDynamicSchema, treatmentBenefitSchemaBackoffice, updateDocumentTemplateSchema };
package/dist/index.d.mts CHANGED
@@ -890,6 +890,38 @@ declare enum TreatmentBenefit {
890
890
  CIRCULATION_IMPROVEMENT = "circulation_improvement"
891
891
  }
892
892
 
893
+ /**
894
+ * @fileoverview Defines the ProcedureProduct type, which represents a product associated with a procedure,
895
+ * including its pricing information. This is used to allow procedures to have multiple products with different prices.
896
+ * @packageDocumentation
897
+ */
898
+
899
+ /**
900
+ * Represents a product associated with a procedure, including its specific pricing information.
901
+ */
902
+ interface ProcedureProduct {
903
+ /**
904
+ * The product used in the procedure.
905
+ * @see {@link Product}
906
+ */
907
+ product: Product;
908
+ /**
909
+ * The price of the procedure when using this specific product.
910
+ */
911
+ price: number;
912
+ /**
913
+ * The currency for the price of this product.
914
+ * @see {@link Currency}
915
+ */
916
+ currency: Currency;
917
+ /**
918
+ * How the price is measured (e.g., per ml, per zone).
919
+ * @see {@link PricingMeasure}
920
+ */
921
+ pricingMeasure: PricingMeasure;
922
+ isDefault?: boolean;
923
+ }
924
+
893
925
  declare enum UserRole {
894
926
  PATIENT = "patient",
895
927
  PRACTITIONER = "practitioner",
@@ -3448,15 +3480,16 @@ interface Procedure {
3448
3480
  subcategory: Subcategory;
3449
3481
  /** Technology used in this procedure */
3450
3482
  technology: Technology;
3451
- /** Product used in this procedure */
3483
+ /** Default product used in this procedure */
3452
3484
  product: Product;
3453
- /** Price of the procedure */
3485
+ /** Default price of the procedure */
3454
3486
  price: number;
3455
3487
  /** Currency for the price */
3456
3488
  currency: Currency;
3457
- /** How the price is measured (per ml, per zone, etc.) */
3489
+ /** How the price is measured (per ml, per zone, etc.) - for default product*/
3458
3490
  pricingMeasure: PricingMeasure;
3459
3491
  /** Duration of the procedure in minutes */
3492
+ productsMetadata: ProcedureProduct[];
3460
3493
  duration: number;
3461
3494
  /** Blocking conditions that prevent this procedure */
3462
3495
  blockingConditions: BlockingCondition[];
@@ -3507,6 +3540,13 @@ interface CreateProcedureData {
3507
3540
  technologyId: string;
3508
3541
  productId: string;
3509
3542
  price: number;
3543
+ productsMetadata: {
3544
+ productId: string;
3545
+ price: number;
3546
+ currency: Currency;
3547
+ pricingMeasure: PricingMeasure;
3548
+ isDefault?: boolean;
3549
+ }[];
3510
3550
  currency: Currency;
3511
3551
  pricingMeasure: PricingMeasure;
3512
3552
  duration: number;
@@ -3525,6 +3565,13 @@ interface UpdateProcedureData {
3525
3565
  price?: number;
3526
3566
  currency?: Currency;
3527
3567
  pricingMeasure?: PricingMeasure;
3568
+ productsMetadata?: {
3569
+ productId: string;
3570
+ price: number;
3571
+ currency: Currency;
3572
+ pricingMeasure: PricingMeasure;
3573
+ isDefault?: boolean;
3574
+ }[];
3528
3575
  duration?: number;
3529
3576
  isActive?: boolean;
3530
3577
  practitionerId?: string;
@@ -5084,6 +5131,13 @@ declare class ProcedureService extends BaseService {
5084
5131
  * @returns Array of URL strings after processing
5085
5132
  */
5086
5133
  private processMediaArray;
5134
+ /**
5135
+ * Transforms validated procedure product data (with productId) to ProcedureProduct objects (with full product)
5136
+ * @param productsMetadata Array of validated procedure product data
5137
+ * @param technologyId Technology ID to fetch products from
5138
+ * @returns Array of ProcedureProduct objects with full product information
5139
+ */
5140
+ private transformProductsMetadata;
5087
5141
  /**
5088
5142
  * Creates a new procedure
5089
5143
  * @param data - The data for creating a new procedure
@@ -5098,7 +5152,7 @@ declare class ProcedureService extends BaseService {
5098
5152
  * @param practitionerIds - An array of practitioner IDs for whom the procedures will be created.
5099
5153
  * @returns A promise that resolves to an array of the newly created procedures.
5100
5154
  */
5101
- bulkCreateProcedures(baseData: Omit<CreateProcedureData, "practitionerId">, practitionerIds: string[]): Promise<Procedure[]>;
5155
+ bulkCreateProcedures(baseData: Omit<CreateProcedureData, 'practitionerId'>, practitionerIds: string[]): Promise<Procedure[]>;
5102
5156
  /**
5103
5157
  * Gets a procedure by ID
5104
5158
  * @param id - The ID of the procedure to get
@@ -5223,7 +5277,7 @@ declare class ProcedureService extends BaseService {
5223
5277
  * @param data - The data for creating a consultation procedure (without productId)
5224
5278
  * @returns The created procedure
5225
5279
  */
5226
- createConsultationProcedure(data: Omit<CreateProcedureData, "productId">): Promise<Procedure>;
5280
+ createConsultationProcedure(data: Omit<CreateProcedureData, 'productId'>): Promise<Procedure>;
5227
5281
  /**
5228
5282
  * Gets all procedures with minimal info for map display (id, name, clinicId, clinicName, address, latitude, longitude)
5229
5283
  * This is optimized for mobile map usage to reduce payload size.
@@ -6556,4 +6610,4 @@ declare const getFirebaseApp: () => Promise<FirebaseApp>;
6556
6610
  declare const getFirebaseStorage: () => Promise<FirebaseStorage>;
6557
6611
  declare const getFirebaseFunctions: () => Promise<Functions>;
6558
6612
 
6559
- export { APPOINTMENTS_COLLECTION, 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 AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, 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, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, 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 CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DEFAULT_MEDICAL_INFO, 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, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, NOTIFICATIONS_COLLECTION, 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, type PatientRequirementsFilters, PatientRequirementsService, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, 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, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, RequirementType, type Review, type ReviewRequestNotification, 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, type TreatmentBenefitDynamic, USERS_COLLECTION, 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 VitalStats, type WorkingHours, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };
6613
+ export { APPOINTMENTS_COLLECTION, 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 AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, 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, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, 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 CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DEFAULT_MEDICAL_INFO, 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, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, NOTIFICATIONS_COLLECTION, 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, type PatientRequirementsFilters, PatientRequirementsService, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, 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, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedureProduct, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, RequirementType, type Review, type ReviewRequestNotification, 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, type TreatmentBenefitDynamic, USERS_COLLECTION, 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 VitalStats, type WorkingHours, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };
package/dist/index.d.ts CHANGED
@@ -890,6 +890,38 @@ declare enum TreatmentBenefit {
890
890
  CIRCULATION_IMPROVEMENT = "circulation_improvement"
891
891
  }
892
892
 
893
+ /**
894
+ * @fileoverview Defines the ProcedureProduct type, which represents a product associated with a procedure,
895
+ * including its pricing information. This is used to allow procedures to have multiple products with different prices.
896
+ * @packageDocumentation
897
+ */
898
+
899
+ /**
900
+ * Represents a product associated with a procedure, including its specific pricing information.
901
+ */
902
+ interface ProcedureProduct {
903
+ /**
904
+ * The product used in the procedure.
905
+ * @see {@link Product}
906
+ */
907
+ product: Product;
908
+ /**
909
+ * The price of the procedure when using this specific product.
910
+ */
911
+ price: number;
912
+ /**
913
+ * The currency for the price of this product.
914
+ * @see {@link Currency}
915
+ */
916
+ currency: Currency;
917
+ /**
918
+ * How the price is measured (e.g., per ml, per zone).
919
+ * @see {@link PricingMeasure}
920
+ */
921
+ pricingMeasure: PricingMeasure;
922
+ isDefault?: boolean;
923
+ }
924
+
893
925
  declare enum UserRole {
894
926
  PATIENT = "patient",
895
927
  PRACTITIONER = "practitioner",
@@ -3448,15 +3480,16 @@ interface Procedure {
3448
3480
  subcategory: Subcategory;
3449
3481
  /** Technology used in this procedure */
3450
3482
  technology: Technology;
3451
- /** Product used in this procedure */
3483
+ /** Default product used in this procedure */
3452
3484
  product: Product;
3453
- /** Price of the procedure */
3485
+ /** Default price of the procedure */
3454
3486
  price: number;
3455
3487
  /** Currency for the price */
3456
3488
  currency: Currency;
3457
- /** How the price is measured (per ml, per zone, etc.) */
3489
+ /** How the price is measured (per ml, per zone, etc.) - for default product*/
3458
3490
  pricingMeasure: PricingMeasure;
3459
3491
  /** Duration of the procedure in minutes */
3492
+ productsMetadata: ProcedureProduct[];
3460
3493
  duration: number;
3461
3494
  /** Blocking conditions that prevent this procedure */
3462
3495
  blockingConditions: BlockingCondition[];
@@ -3507,6 +3540,13 @@ interface CreateProcedureData {
3507
3540
  technologyId: string;
3508
3541
  productId: string;
3509
3542
  price: number;
3543
+ productsMetadata: {
3544
+ productId: string;
3545
+ price: number;
3546
+ currency: Currency;
3547
+ pricingMeasure: PricingMeasure;
3548
+ isDefault?: boolean;
3549
+ }[];
3510
3550
  currency: Currency;
3511
3551
  pricingMeasure: PricingMeasure;
3512
3552
  duration: number;
@@ -3525,6 +3565,13 @@ interface UpdateProcedureData {
3525
3565
  price?: number;
3526
3566
  currency?: Currency;
3527
3567
  pricingMeasure?: PricingMeasure;
3568
+ productsMetadata?: {
3569
+ productId: string;
3570
+ price: number;
3571
+ currency: Currency;
3572
+ pricingMeasure: PricingMeasure;
3573
+ isDefault?: boolean;
3574
+ }[];
3528
3575
  duration?: number;
3529
3576
  isActive?: boolean;
3530
3577
  practitionerId?: string;
@@ -5084,6 +5131,13 @@ declare class ProcedureService extends BaseService {
5084
5131
  * @returns Array of URL strings after processing
5085
5132
  */
5086
5133
  private processMediaArray;
5134
+ /**
5135
+ * Transforms validated procedure product data (with productId) to ProcedureProduct objects (with full product)
5136
+ * @param productsMetadata Array of validated procedure product data
5137
+ * @param technologyId Technology ID to fetch products from
5138
+ * @returns Array of ProcedureProduct objects with full product information
5139
+ */
5140
+ private transformProductsMetadata;
5087
5141
  /**
5088
5142
  * Creates a new procedure
5089
5143
  * @param data - The data for creating a new procedure
@@ -5098,7 +5152,7 @@ declare class ProcedureService extends BaseService {
5098
5152
  * @param practitionerIds - An array of practitioner IDs for whom the procedures will be created.
5099
5153
  * @returns A promise that resolves to an array of the newly created procedures.
5100
5154
  */
5101
- bulkCreateProcedures(baseData: Omit<CreateProcedureData, "practitionerId">, practitionerIds: string[]): Promise<Procedure[]>;
5155
+ bulkCreateProcedures(baseData: Omit<CreateProcedureData, 'practitionerId'>, practitionerIds: string[]): Promise<Procedure[]>;
5102
5156
  /**
5103
5157
  * Gets a procedure by ID
5104
5158
  * @param id - The ID of the procedure to get
@@ -5223,7 +5277,7 @@ declare class ProcedureService extends BaseService {
5223
5277
  * @param data - The data for creating a consultation procedure (without productId)
5224
5278
  * @returns The created procedure
5225
5279
  */
5226
- createConsultationProcedure(data: Omit<CreateProcedureData, "productId">): Promise<Procedure>;
5280
+ createConsultationProcedure(data: Omit<CreateProcedureData, 'productId'>): Promise<Procedure>;
5227
5281
  /**
5228
5282
  * Gets all procedures with minimal info for map display (id, name, clinicId, clinicName, address, latitude, longitude)
5229
5283
  * This is optimized for mobile map usage to reduce payload size.
@@ -6556,4 +6610,4 @@ declare const getFirebaseApp: () => Promise<FirebaseApp>;
6556
6610
  declare const getFirebaseStorage: () => Promise<FirebaseStorage>;
6557
6611
  declare const getFirebaseFunctions: () => Promise<Functions>;
6558
6612
 
6559
- export { APPOINTMENTS_COLLECTION, 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 AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, 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, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, 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 CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DEFAULT_MEDICAL_INFO, 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, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, NOTIFICATIONS_COLLECTION, 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, type PatientRequirementsFilters, PatientRequirementsService, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, 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, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, RequirementType, type Review, type ReviewRequestNotification, 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, type TreatmentBenefitDynamic, USERS_COLLECTION, 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 VitalStats, type WorkingHours, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };
6613
+ export { APPOINTMENTS_COLLECTION, 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 AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, AuthService, type BaseDocumentElement, type BaseNotification, BaseService, 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, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, 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 CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DEFAULT_MEDICAL_INFO, 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, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, NOTIFICATIONS_COLLECTION, 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, type PatientRequirementsFilters, PatientRequirementsService, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, 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, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedureProduct, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, RequirementType, type Review, type ReviewRequestNotification, 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, type TreatmentBenefitDynamic, USERS_COLLECTION, 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 VitalStats, type WorkingHours, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase };