@blackcode_sa/metaestetics-api 1.15.14 → 1.15.17-staging.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/index.d.mts +377 -222
- package/dist/admin/index.d.ts +377 -222
- package/dist/admin/index.js +625 -206
- package/dist/admin/index.mjs +624 -206
- package/dist/backoffice/index.d.mts +24 -0
- package/dist/backoffice/index.d.ts +24 -0
- package/dist/index.d.mts +297 -9
- package/dist/index.d.ts +297 -9
- package/dist/index.js +1144 -632
- package/dist/index.mjs +1139 -619
- package/package.json +2 -1
- package/src/__mocks__/firstore.ts +10 -10
- package/src/admin/aggregation/README.md +79 -79
- package/src/admin/aggregation/appointment/README.md +151 -129
- package/src/admin/aggregation/appointment/appointment.aggregation.service.ts +2137 -2091
- package/src/admin/aggregation/appointment/index.ts +1 -1
- package/src/admin/aggregation/clinic/README.md +52 -52
- package/src/admin/aggregation/clinic/clinic.aggregation.service.ts +966 -966
- package/src/admin/aggregation/clinic/index.ts +1 -1
- package/src/admin/aggregation/forms/README.md +13 -13
- package/src/admin/aggregation/forms/filled-forms.aggregation.service.ts +322 -322
- package/src/admin/aggregation/forms/index.ts +1 -1
- package/src/admin/aggregation/index.ts +8 -8
- package/src/admin/aggregation/patient/README.md +27 -27
- package/src/admin/aggregation/patient/index.ts +1 -1
- package/src/admin/aggregation/patient/patient.aggregation.service.ts +141 -141
- package/src/admin/aggregation/practitioner/README.md +42 -42
- package/src/admin/aggregation/practitioner/index.ts +1 -1
- package/src/admin/aggregation/practitioner/practitioner.aggregation.service.ts +433 -433
- package/src/admin/aggregation/practitioner-invite/index.ts +1 -1
- package/src/admin/aggregation/practitioner-invite/practitioner-invite.aggregation.service.ts +961 -961
- package/src/admin/aggregation/procedure/README.md +43 -43
- package/src/admin/aggregation/procedure/index.ts +1 -1
- package/src/admin/aggregation/procedure/procedure.aggregation.service.ts +702 -702
- package/src/admin/aggregation/reviews/index.ts +1 -1
- package/src/admin/aggregation/reviews/reviews.aggregation.service.ts +689 -689
- package/src/admin/analytics/analytics.admin.service.ts +278 -278
- package/src/admin/analytics/index.ts +2 -2
- package/src/admin/booking/README.md +184 -125
- package/src/admin/booking/booking.admin.ts +1330 -1073
- package/src/admin/booking/booking.calculator.ts +850 -712
- package/src/admin/booking/booking.types.ts +76 -59
- package/src/admin/booking/index.ts +3 -3
- package/src/admin/booking/timezones-problem.md +185 -185
- package/src/admin/calendar/README.md +62 -7
- package/src/admin/calendar/calendar.admin.service.ts +345 -345
- package/src/admin/calendar/index.ts +2 -1
- package/src/admin/calendar/resource-calendar.admin.ts +198 -0
- package/src/admin/documentation-templates/document-manager.admin.ts +260 -260
- package/src/admin/documentation-templates/index.ts +1 -1
- package/src/admin/free-consultation/free-consultation-utils.admin.ts +148 -148
- package/src/admin/free-consultation/index.ts +1 -1
- package/src/admin/index.ts +83 -83
- package/src/admin/logger/index.ts +78 -78
- package/src/admin/mailing/README.md +139 -139
- package/src/admin/mailing/appointment/appointment.mailing.service.ts +1253 -1253
- package/src/admin/mailing/appointment/index.ts +1 -1
- package/src/admin/mailing/appointment/templates/patient/appointment-confirmed.html +40 -40
- package/src/admin/mailing/base.mailing.service.ts +208 -208
- package/src/admin/mailing/clinicWelcome/clinicWelcome.mailing.ts +292 -292
- package/src/admin/mailing/clinicWelcome/index.ts +1 -1
- package/src/admin/mailing/clinicWelcome/templates/welcome.template.ts +225 -225
- package/src/admin/mailing/index.ts +5 -5
- package/src/admin/mailing/patientInvite/index.ts +2 -2
- package/src/admin/mailing/patientInvite/patientInvite.mailing.ts +415 -415
- package/src/admin/mailing/patientInvite/templates/invitation.template.ts +105 -105
- package/src/admin/mailing/practitionerInvite/existing-practitioner-invite.mailing.ts +611 -611
- package/src/admin/mailing/practitionerInvite/index.ts +2 -2
- package/src/admin/mailing/practitionerInvite/practitionerInvite.mailing.ts +395 -395
- package/src/admin/mailing/practitionerInvite/templates/existing-practitioner-invitation.template.ts +155 -155
- package/src/admin/mailing/practitionerInvite/templates/invitation.template.ts +101 -101
- package/src/admin/mailing/practitionerInvite/templates/invite-accepted-notification.template.ts +228 -228
- package/src/admin/mailing/practitionerInvite/templates/invite-rejected-notification.template.ts +242 -242
- package/src/admin/notifications/index.ts +1 -1
- package/src/admin/notifications/notifications.admin.ts +818 -818
- package/src/admin/requirements/README.md +128 -128
- package/src/admin/requirements/index.ts +1 -1
- package/src/admin/requirements/patient-requirements.admin.service.ts +475 -475
- package/src/admin/users/index.ts +1 -1
- package/src/admin/users/user-profile.admin.ts +405 -405
- package/src/backoffice/constants/certification.constants.ts +13 -13
- package/src/backoffice/constants/index.ts +1 -1
- package/src/backoffice/errors/backoffice.errors.ts +181 -181
- package/src/backoffice/errors/index.ts +1 -1
- package/src/backoffice/expo-safe/README.md +26 -26
- package/src/backoffice/expo-safe/index.ts +41 -41
- package/src/backoffice/index.ts +5 -5
- package/src/backoffice/services/FIXES_README.md +102 -102
- package/src/backoffice/services/README.md +57 -57
- package/src/backoffice/services/analytics.service.proposal.md +863 -863
- package/src/backoffice/services/analytics.service.summary.md +143 -143
- package/src/backoffice/services/brand.service.ts +260 -260
- package/src/backoffice/services/category.service.ts +384 -384
- package/src/backoffice/services/constants.service.ts +385 -385
- package/src/backoffice/services/documentation-template.service.ts +202 -202
- package/src/backoffice/services/index.ts +10 -10
- package/src/backoffice/services/migrate-products.ts +116 -116
- package/src/backoffice/services/product.service.ts +557 -557
- package/src/backoffice/services/requirement.service.ts +235 -235
- package/src/backoffice/services/subcategory.service.ts +461 -461
- package/src/backoffice/services/technology.service.ts +1153 -1153
- package/src/backoffice/types/README.md +12 -12
- package/src/backoffice/types/admin-constants.types.ts +69 -69
- package/src/backoffice/types/brand.types.ts +29 -29
- package/src/backoffice/types/category.types.ts +67 -67
- package/src/backoffice/types/documentation-templates.types.ts +28 -28
- package/src/backoffice/types/index.ts +10 -10
- package/src/backoffice/types/procedure-product.types.ts +38 -38
- package/src/backoffice/types/product.types.ts +239 -239
- package/src/backoffice/types/requirement.types.ts +63 -63
- package/src/backoffice/types/static/README.md +18 -18
- package/src/backoffice/types/static/blocking-condition.types.ts +21 -21
- package/src/backoffice/types/static/certification.types.ts +37 -37
- package/src/backoffice/types/static/contraindication.types.ts +19 -19
- package/src/backoffice/types/static/index.ts +6 -6
- package/src/backoffice/types/static/pricing.types.ts +16 -16
- package/src/backoffice/types/static/procedure-family.types.ts +14 -14
- package/src/backoffice/types/static/treatment-benefit.types.ts +22 -22
- package/src/backoffice/types/subcategory.types.ts +34 -34
- package/src/backoffice/types/technology.types.ts +168 -168
- package/src/backoffice/validations/index.ts +1 -1
- package/src/backoffice/validations/schemas.ts +164 -164
- package/src/config/__mocks__/firebase.ts +99 -99
- package/src/config/firebase.ts +78 -78
- package/src/config/index.ts +17 -17
- package/src/config/tiers.config.ts +255 -229
- package/src/errors/auth.error.ts +6 -6
- package/src/errors/auth.errors.ts +211 -211
- package/src/errors/clinic.errors.ts +32 -32
- package/src/errors/firebase.errors.ts +47 -47
- package/src/errors/user.errors.ts +99 -99
- package/src/index.backup.ts +407 -407
- package/src/index.ts +6 -6
- package/src/locales/en.ts +31 -31
- package/src/recommender/admin/index.ts +1 -1
- package/src/recommender/admin/services/recommender.service.admin.ts +5 -5
- package/src/recommender/front/index.ts +1 -1
- package/src/recommender/front/services/onboarding.service.ts +5 -5
- package/src/recommender/front/services/recommender.service.ts +3 -3
- package/src/recommender/index.ts +1 -1
- package/src/services/PATIENTAUTH.MD +197 -197
- package/src/services/README.md +106 -106
- package/src/services/__tests__/auth/auth.mock.test.ts +17 -17
- package/src/services/__tests__/auth/auth.setup.ts +298 -298
- package/src/services/__tests__/auth.service.test.ts +310 -310
- package/src/services/__tests__/base.service.test.ts +36 -36
- package/src/services/__tests__/user.service.test.ts +530 -530
- package/src/services/analytics/ARCHITECTURE.md +199 -199
- package/src/services/analytics/CLOUD_FUNCTIONS.md +225 -225
- package/src/services/analytics/GROUPED_ANALYTICS.md +501 -501
- package/src/services/analytics/QUICK_START.md +393 -393
- package/src/services/analytics/README.md +304 -304
- package/src/services/analytics/SUMMARY.md +141 -141
- package/src/services/analytics/TRENDS.md +380 -380
- package/src/services/analytics/USAGE_GUIDE.md +518 -518
- package/src/services/analytics/analytics-cloud.service.ts +222 -222
- package/src/services/analytics/analytics.service.ts +2148 -2148
- package/src/services/analytics/index.ts +4 -4
- package/src/services/analytics/review-analytics.service.ts +941 -941
- package/src/services/analytics/utils/appointment-filtering.utils.ts +138 -138
- package/src/services/analytics/utils/cost-calculation.utils.ts +182 -182
- package/src/services/analytics/utils/grouping.utils.ts +434 -434
- package/src/services/analytics/utils/stored-analytics.utils.ts +347 -347
- package/src/services/analytics/utils/time-calculation.utils.ts +186 -186
- package/src/services/analytics/utils/trend-calculation.utils.ts +200 -200
- package/src/services/appointment/README.md +17 -17
- package/src/services/appointment/appointment.service.ts +2943 -2941
- package/src/services/appointment/index.ts +1 -1
- package/src/services/appointment/utils/appointment.utils.ts +620 -620
- package/src/services/appointment/utils/extended-procedure.utils.ts +354 -354
- package/src/services/appointment/utils/form-initialization.utils.ts +516 -516
- package/src/services/appointment/utils/recommended-procedure.utils.ts +195 -195
- package/src/services/appointment/utils/zone-management.utils.ts +468 -468
- package/src/services/appointment/utils/zone-photo.utils.ts +302 -302
- package/src/services/auth/auth.service.ts +1435 -1435
- package/src/services/auth/auth.v2.service.ts +961 -961
- package/src/services/auth/index.ts +7 -7
- package/src/services/auth/utils/error.utils.ts +90 -90
- package/src/services/auth/utils/firebase.utils.ts +49 -49
- package/src/services/auth/utils/index.ts +21 -21
- package/src/services/auth/utils/practitioner.utils.ts +125 -125
- package/src/services/base.service.ts +41 -41
- package/src/services/calendar/calendar.service.ts +1077 -1077
- package/src/services/calendar/calendar.v2.service.ts +1693 -1693
- package/src/services/calendar/calendar.v3.service.ts +313 -313
- package/src/services/calendar/externalCalendar.service.ts +178 -178
- package/src/services/calendar/index.ts +5 -5
- package/src/services/calendar/synced-calendars.service.ts +743 -743
- package/src/services/calendar/utils/appointment.utils.ts +265 -265
- package/src/services/calendar/utils/calendar-event.utils.ts +676 -676
- package/src/services/calendar/utils/clinic.utils.ts +237 -237
- package/src/services/calendar/utils/docs.utils.ts +157 -157
- package/src/services/calendar/utils/google-calendar.utils.ts +697 -697
- package/src/services/calendar/utils/index.ts +8 -8
- package/src/services/calendar/utils/patient.utils.ts +198 -198
- package/src/services/calendar/utils/practitioner.utils.ts +221 -221
- package/src/services/calendar/utils/synced-calendar.utils.ts +472 -472
- package/src/services/clinic/README.md +204 -204
- package/src/services/clinic/__tests__/clinic-admin.service.test.ts +265 -265
- package/src/services/clinic/__tests__/clinic-group.service.test.ts +222 -222
- package/src/services/clinic/__tests__/clinic.service.test.ts +302 -302
- package/src/services/clinic/billing-transactions.service.ts +217 -217
- package/src/services/clinic/clinic-admin.service.ts +202 -202
- package/src/services/clinic/clinic-group.service.ts +310 -310
- package/src/services/clinic/clinic.service.ts +720 -720
- package/src/services/clinic/index.ts +5 -5
- package/src/services/clinic/practitioner-invite.service.ts +519 -519
- package/src/services/clinic/utils/admin.utils.ts +551 -551
- package/src/services/clinic/utils/clinic-group.utils.ts +646 -646
- package/src/services/clinic/utils/clinic.utils.ts +1023 -1023
- package/src/services/clinic/utils/filter.utils.d.ts +23 -23
- package/src/services/clinic/utils/filter.utils.ts +462 -462
- package/src/services/clinic/utils/index.ts +10 -10
- package/src/services/clinic/utils/photos.utils.ts +188 -188
- package/src/services/clinic/utils/search.utils.ts +83 -83
- package/src/services/clinic/utils/tag.utils.ts +124 -124
- package/src/services/documentation-templates/documentation-template.service.ts +537 -537
- package/src/services/documentation-templates/filled-document.service.ts +597 -597
- package/src/services/documentation-templates/index.ts +2 -2
- package/src/services/index.ts +16 -15
- package/src/services/media/index.ts +1 -1
- package/src/services/media/media.service.ts +418 -418
- package/src/services/notifications/__tests__/notification.service.test.ts +242 -242
- package/src/services/notifications/index.ts +1 -1
- package/src/services/notifications/notification.service.ts +215 -215
- package/src/services/patient/README.md +48 -48
- package/src/services/patient/To-Do.md +43 -43
- package/src/services/patient/__tests__/patient.service.test.ts +286 -286
- package/src/services/patient/index.ts +2 -2
- package/src/services/patient/patient.service.ts +1021 -1021
- package/src/services/patient/patientRequirements.service.ts +309 -309
- package/src/services/patient/utils/aesthetic-analysis.utils.ts +176 -176
- package/src/services/patient/utils/body-assessment.utils.ts +159 -159
- package/src/services/patient/utils/clinic.utils.ts +159 -159
- package/src/services/patient/utils/docs.utils.ts +142 -142
- package/src/services/patient/utils/hair-scalp-assessment.utils.ts +158 -158
- package/src/services/patient/utils/index.ts +9 -9
- package/src/services/patient/utils/location.utils.ts +126 -126
- package/src/services/patient/utils/medical-stuff.utils.ts +143 -143
- package/src/services/patient/utils/medical.utils.ts +458 -458
- package/src/services/patient/utils/practitioner.utils.ts +260 -260
- package/src/services/patient/utils/pre-surgical-assessment.utils.ts +161 -161
- package/src/services/patient/utils/profile.utils.ts +510 -510
- package/src/services/patient/utils/sensitive.utils.ts +260 -260
- package/src/services/patient/utils/skin-quality-assessment.utils.ts +160 -160
- package/src/services/patient/utils/token.utils.ts +211 -211
- package/src/services/practitioner/README.md +145 -145
- package/src/services/practitioner/index.ts +1 -1
- package/src/services/practitioner/practitioner.service.ts +2355 -2354
- package/src/services/procedure/README.md +163 -163
- package/src/services/procedure/index.ts +1 -1
- package/src/services/procedure/procedure.service.ts +2521 -2521
- package/src/services/resource/README.md +119 -0
- package/src/services/resource/index.ts +1 -0
- package/src/services/resource/resource.service.ts +555 -0
- package/src/services/reviews/index.ts +1 -1
- package/src/services/reviews/reviews.service.ts +745 -745
- package/src/services/tier-enforcement.ts +240 -240
- package/src/services/user/index.ts +1 -1
- package/src/services/user/user.service.ts +533 -533
- package/src/services/user/user.v2.service.ts +467 -467
- package/src/types/analytics/analytics.types.ts +597 -597
- package/src/types/analytics/grouped-analytics.types.ts +173 -173
- package/src/types/analytics/index.ts +4 -4
- package/src/types/analytics/stored-analytics.types.ts +137 -137
- package/src/types/appointment/index.ts +524 -517
- package/src/types/calendar/index.ts +261 -260
- package/src/types/calendar/synced-calendar.types.ts +66 -66
- package/src/types/clinic/index.ts +530 -529
- package/src/types/clinic/practitioner-invite.types.ts +91 -91
- package/src/types/clinic/preferences.types.ts +159 -159
- package/src/types/clinic/rbac.types.ts +64 -63
- package/src/types/clinic/to-do +3 -3
- package/src/types/documentation-templates/index.ts +308 -308
- package/src/types/index.ts +50 -47
- package/src/types/notifications/README.md +77 -77
- package/src/types/notifications/index.ts +300 -300
- package/src/types/patient/aesthetic-analysis.types.ts +66 -66
- package/src/types/patient/allergies.ts +58 -58
- package/src/types/patient/body-assessment.types.ts +93 -93
- package/src/types/patient/hair-scalp-assessment.types.ts +98 -98
- package/src/types/patient/index.ts +279 -279
- package/src/types/patient/medical-info.types.ts +152 -152
- package/src/types/patient/patient-requirements.ts +92 -92
- package/src/types/patient/pre-surgical-assessment.types.ts +95 -95
- package/src/types/patient/skin-quality-assessment.types.ts +105 -105
- package/src/types/patient/token.types.ts +61 -61
- package/src/types/practitioner/index.ts +208 -208
- package/src/types/procedure/index.ts +189 -183
- package/src/types/profile/index.ts +39 -39
- package/src/types/resource/README.md +153 -0
- package/src/types/resource/index.ts +199 -0
- package/src/types/reviews/index.ts +132 -132
- package/src/types/tz-lookup.d.ts +4 -4
- package/src/types/user/index.ts +60 -60
- package/src/utils/TIMESTAMPS.md +176 -176
- package/src/utils/TimestampUtils.ts +241 -241
- package/src/utils/index.ts +1 -1
- package/src/validations/README.md +94 -0
- package/src/validations/appointment.schema.ts +589 -589
- package/src/validations/calendar.schema.ts +225 -225
- package/src/validations/clinic.schema.ts +494 -494
- package/src/validations/common.schema.ts +25 -25
- package/src/validations/documentation-templates/index.ts +1 -1
- package/src/validations/documentation-templates/template.schema.ts +220 -220
- package/src/validations/documentation-templates.schema.ts +10 -10
- package/src/validations/index.ts +21 -20
- package/src/validations/media.schema.ts +10 -10
- package/src/validations/notification.schema.ts +90 -90
- package/src/validations/patient/aesthetic-analysis.schema.ts +55 -55
- package/src/validations/patient/body-assessment.schema.ts +82 -82
- package/src/validations/patient/hair-scalp-assessment.schema.ts +70 -70
- package/src/validations/patient/medical-info.schema.ts +177 -177
- package/src/validations/patient/patient-requirements.schema.ts +84 -84
- package/src/validations/patient/pre-surgical-assessment.schema.ts +78 -78
- package/src/validations/patient/skin-quality-assessment.schema.ts +70 -70
- package/src/validations/patient/token.schema.ts +29 -29
- package/src/validations/patient.schema.ts +217 -217
- package/src/validations/practitioner.schema.ts +224 -224
- package/src/validations/procedure-product.schema.ts +41 -41
- package/src/validations/procedure.schema.ts +136 -124
- package/src/validations/profile-info.schema.ts +41 -41
- package/src/validations/resource.schema.ts +57 -0
- package/src/validations/reviews.schema.ts +195 -195
- package/src/validations/schemas.ts +109 -109
- package/src/validations/shared.schema.ts +78 -78
|
@@ -1281,6 +1281,29 @@ declare class MediaService extends BaseService {
|
|
|
1281
1281
|
getMediaDownloadUrl(mediaId: string): Promise<string | null>;
|
|
1282
1282
|
}
|
|
1283
1283
|
|
|
1284
|
+
/**
|
|
1285
|
+
* Category of a clinic resource
|
|
1286
|
+
*/
|
|
1287
|
+
declare enum ResourceCategory {
|
|
1288
|
+
MEDICAL_DEVICE = "medical_device",
|
|
1289
|
+
ROOM = "room",
|
|
1290
|
+
SURGERY_SUITE = "surgery_suite",
|
|
1291
|
+
EQUIPMENT = "equipment",
|
|
1292
|
+
OTHER = "other"
|
|
1293
|
+
}
|
|
1294
|
+
/**
|
|
1295
|
+
* Lightweight reference stored on procedures to indicate which resources are required.
|
|
1296
|
+
* Denormalized snapshot of resource info at the time of linking.
|
|
1297
|
+
*/
|
|
1298
|
+
interface ResourceRequirement {
|
|
1299
|
+
/** ID of the required resource */
|
|
1300
|
+
resourceId: string;
|
|
1301
|
+
/** Name of the resource (snapshot) */
|
|
1302
|
+
resourceName: string;
|
|
1303
|
+
/** Category of the resource (snapshot) */
|
|
1304
|
+
resourceCategory: ResourceCategory;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1284
1307
|
/**
|
|
1285
1308
|
* Aggregated summary information for a procedure.
|
|
1286
1309
|
* Used in arrays within Clinic and Practitioner documents for quick display.
|
|
@@ -1306,6 +1329,7 @@ interface ProcedureSummaryInfo {
|
|
|
1306
1329
|
clinicName: string;
|
|
1307
1330
|
practitionerId: string;
|
|
1308
1331
|
practitionerName: string;
|
|
1332
|
+
resourceRequirements?: ResourceRequirement[];
|
|
1309
1333
|
}
|
|
1310
1334
|
|
|
1311
1335
|
/**
|
|
@@ -1281,6 +1281,29 @@ declare class MediaService extends BaseService {
|
|
|
1281
1281
|
getMediaDownloadUrl(mediaId: string): Promise<string | null>;
|
|
1282
1282
|
}
|
|
1283
1283
|
|
|
1284
|
+
/**
|
|
1285
|
+
* Category of a clinic resource
|
|
1286
|
+
*/
|
|
1287
|
+
declare enum ResourceCategory {
|
|
1288
|
+
MEDICAL_DEVICE = "medical_device",
|
|
1289
|
+
ROOM = "room",
|
|
1290
|
+
SURGERY_SUITE = "surgery_suite",
|
|
1291
|
+
EQUIPMENT = "equipment",
|
|
1292
|
+
OTHER = "other"
|
|
1293
|
+
}
|
|
1294
|
+
/**
|
|
1295
|
+
* Lightweight reference stored on procedures to indicate which resources are required.
|
|
1296
|
+
* Denormalized snapshot of resource info at the time of linking.
|
|
1297
|
+
*/
|
|
1298
|
+
interface ResourceRequirement {
|
|
1299
|
+
/** ID of the required resource */
|
|
1300
|
+
resourceId: string;
|
|
1301
|
+
/** Name of the resource (snapshot) */
|
|
1302
|
+
resourceName: string;
|
|
1303
|
+
/** Category of the resource (snapshot) */
|
|
1304
|
+
resourceCategory: ResourceCategory;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1284
1307
|
/**
|
|
1285
1308
|
* Aggregated summary information for a procedure.
|
|
1286
1309
|
* Used in arrays within Clinic and Practitioner documents for quick display.
|
|
@@ -1306,6 +1329,7 @@ interface ProcedureSummaryInfo {
|
|
|
1306
1329
|
clinicName: string;
|
|
1307
1330
|
practitionerId: string;
|
|
1308
1331
|
practitionerName: string;
|
|
1332
|
+
resourceRequirements?: ResourceRequirement[];
|
|
1309
1333
|
}
|
|
1310
1334
|
|
|
1311
1335
|
/**
|
package/dist/index.d.mts
CHANGED
|
@@ -2802,6 +2802,7 @@ declare enum CalendarEventType {
|
|
|
2802
2802
|
BLOCKING = "blocking",
|
|
2803
2803
|
BREAK = "break",
|
|
2804
2804
|
FREE_DAY = "free_day",
|
|
2805
|
+
RESOURCE_BOOKING = "resource_booking",
|
|
2805
2806
|
OTHER = "other"
|
|
2806
2807
|
}
|
|
2807
2808
|
/**
|
|
@@ -4321,6 +4322,191 @@ interface CreatePatientTokenData {
|
|
|
4321
4322
|
expiresAt?: Date;
|
|
4322
4323
|
}
|
|
4323
4324
|
|
|
4325
|
+
/**
|
|
4326
|
+
* Firestore collection/subcollection names for the resource system
|
|
4327
|
+
*/
|
|
4328
|
+
declare const RESOURCES_COLLECTION = "resources";
|
|
4329
|
+
declare const RESOURCE_INSTANCES_SUBCOLLECTION = "instances";
|
|
4330
|
+
declare const RESOURCE_CALENDAR_SUBCOLLECTION = "calendar";
|
|
4331
|
+
/**
|
|
4332
|
+
* Category of a clinic resource
|
|
4333
|
+
*/
|
|
4334
|
+
declare enum ResourceCategory {
|
|
4335
|
+
MEDICAL_DEVICE = "medical_device",
|
|
4336
|
+
ROOM = "room",
|
|
4337
|
+
SURGERY_SUITE = "surgery_suite",
|
|
4338
|
+
EQUIPMENT = "equipment",
|
|
4339
|
+
OTHER = "other"
|
|
4340
|
+
}
|
|
4341
|
+
/**
|
|
4342
|
+
* Status of a resource or resource instance
|
|
4343
|
+
*/
|
|
4344
|
+
declare enum ResourceStatus {
|
|
4345
|
+
ACTIVE = "active",
|
|
4346
|
+
INACTIVE = "inactive",
|
|
4347
|
+
MAINTENANCE = "maintenance"
|
|
4348
|
+
}
|
|
4349
|
+
/**
|
|
4350
|
+
* A resource definition owned by a clinic branch.
|
|
4351
|
+
* Stored at: clinics/{clinicId}/resources/{resourceId}
|
|
4352
|
+
*/
|
|
4353
|
+
interface Resource {
|
|
4354
|
+
/** Unique identifier */
|
|
4355
|
+
id: string;
|
|
4356
|
+
/** Clinic branch this resource belongs to */
|
|
4357
|
+
clinicBranchId: string;
|
|
4358
|
+
/** Display name of the resource */
|
|
4359
|
+
name: string;
|
|
4360
|
+
/** Lowercase name for case-insensitive search */
|
|
4361
|
+
nameLower: string;
|
|
4362
|
+
/** Category of the resource */
|
|
4363
|
+
category: ResourceCategory;
|
|
4364
|
+
/** Optional description */
|
|
4365
|
+
description?: string;
|
|
4366
|
+
/** Number of physical instances (e.g., 3 surgery rooms) */
|
|
4367
|
+
quantity: number;
|
|
4368
|
+
/** Current status */
|
|
4369
|
+
status: ResourceStatus;
|
|
4370
|
+
/** IDs of procedures that require this resource (denormalized for quick lookup) */
|
|
4371
|
+
linkedProcedureIds: string[];
|
|
4372
|
+
createdAt: Timestamp;
|
|
4373
|
+
updatedAt: Timestamp;
|
|
4374
|
+
}
|
|
4375
|
+
/**
|
|
4376
|
+
* A single physical instance of a resource (e.g., "Surgery Room #2").
|
|
4377
|
+
* Each instance has its own calendar for tracking bookings.
|
|
4378
|
+
* Stored at: clinics/{clinicId}/resources/{resourceId}/instances/{instanceId}
|
|
4379
|
+
*/
|
|
4380
|
+
interface ResourceInstance {
|
|
4381
|
+
/** Unique identifier */
|
|
4382
|
+
id: string;
|
|
4383
|
+
/** Parent resource ID */
|
|
4384
|
+
resourceId: string;
|
|
4385
|
+
/** Clinic branch this instance belongs to */
|
|
4386
|
+
clinicBranchId: string;
|
|
4387
|
+
/** Display label, auto-generated: "{Resource.name} #{index}" */
|
|
4388
|
+
label: string;
|
|
4389
|
+
/** 1-based index among instances of the same resource */
|
|
4390
|
+
index: number;
|
|
4391
|
+
/** Current status */
|
|
4392
|
+
status: ResourceStatus;
|
|
4393
|
+
createdAt: Timestamp;
|
|
4394
|
+
updatedAt: Timestamp;
|
|
4395
|
+
}
|
|
4396
|
+
/**
|
|
4397
|
+
* Calendar event on a resource instance.
|
|
4398
|
+
* Can be either a booking event (created during appointment creation) or a blocking event (created manually by admin).
|
|
4399
|
+
* Stored at: clinics/{clinicId}/resources/{resourceId}/instances/{instanceId}/calendar/{eventId}
|
|
4400
|
+
*/
|
|
4401
|
+
interface ResourceCalendarEvent {
|
|
4402
|
+
/** Unique identifier */
|
|
4403
|
+
id: string;
|
|
4404
|
+
/** Parent resource ID */
|
|
4405
|
+
resourceId: string;
|
|
4406
|
+
/** Instance this event is on */
|
|
4407
|
+
resourceInstanceId: string;
|
|
4408
|
+
/** Clinic branch */
|
|
4409
|
+
clinicBranchId: string;
|
|
4410
|
+
/** Type of event — RESOURCE_BOOKING for appointment bookings, BLOCKING for manual blocks */
|
|
4411
|
+
eventType: CalendarEventType;
|
|
4412
|
+
/** Appointment that booked this resource (only for RESOURCE_BOOKING events) */
|
|
4413
|
+
appointmentId?: string;
|
|
4414
|
+
/** Procedure requiring this resource (only for RESOURCE_BOOKING events) */
|
|
4415
|
+
procedureId?: string;
|
|
4416
|
+
/** Practitioner performing the procedure (only for RESOURCE_BOOKING events) */
|
|
4417
|
+
practitionerId?: string;
|
|
4418
|
+
/** Patient for the appointment (only for RESOURCE_BOOKING events) */
|
|
4419
|
+
patientId?: string;
|
|
4420
|
+
/** Time range of the event */
|
|
4421
|
+
eventTime: CalendarEventTime;
|
|
4422
|
+
/** Event status — CONFIRMED for blocking events, mirrors appointment status for bookings */
|
|
4423
|
+
status: CalendarEventStatus;
|
|
4424
|
+
/** Display name for the event */
|
|
4425
|
+
eventName: string;
|
|
4426
|
+
/** Optional description (primarily for blocking events, e.g., reason for maintenance) */
|
|
4427
|
+
description?: string;
|
|
4428
|
+
createdAt: Timestamp;
|
|
4429
|
+
updatedAt: Timestamp;
|
|
4430
|
+
}
|
|
4431
|
+
/**
|
|
4432
|
+
* Lightweight reference stored on procedures to indicate which resources are required.
|
|
4433
|
+
* Denormalized snapshot of resource info at the time of linking.
|
|
4434
|
+
*/
|
|
4435
|
+
interface ResourceRequirement {
|
|
4436
|
+
/** ID of the required resource */
|
|
4437
|
+
resourceId: string;
|
|
4438
|
+
/** Name of the resource (snapshot) */
|
|
4439
|
+
resourceName: string;
|
|
4440
|
+
/** Category of the resource (snapshot) */
|
|
4441
|
+
resourceCategory: ResourceCategory;
|
|
4442
|
+
}
|
|
4443
|
+
/**
|
|
4444
|
+
* Info about a specific resource instance booking, stored on the appointment
|
|
4445
|
+
* after a resource has been allocated during appointment creation.
|
|
4446
|
+
*/
|
|
4447
|
+
interface ResourceBookingInfo {
|
|
4448
|
+
/** ID of the booked resource */
|
|
4449
|
+
resourceId: string;
|
|
4450
|
+
/** Name of the resource (snapshot) */
|
|
4451
|
+
resourceName: string;
|
|
4452
|
+
/** ID of the specific instance that was allocated */
|
|
4453
|
+
resourceInstanceId: string;
|
|
4454
|
+
/** Label of the instance (e.g., "Surgery Room #2") */
|
|
4455
|
+
resourceInstanceLabel: string;
|
|
4456
|
+
/** ID of the calendar event created on the instance */
|
|
4457
|
+
calendarEventId: string;
|
|
4458
|
+
}
|
|
4459
|
+
/**
|
|
4460
|
+
* Data required to create a new resource
|
|
4461
|
+
*/
|
|
4462
|
+
interface CreateResourceData {
|
|
4463
|
+
clinicBranchId: string;
|
|
4464
|
+
name: string;
|
|
4465
|
+
category: ResourceCategory;
|
|
4466
|
+
description?: string;
|
|
4467
|
+
quantity: number;
|
|
4468
|
+
}
|
|
4469
|
+
/**
|
|
4470
|
+
* Data allowed for updating an existing resource
|
|
4471
|
+
*/
|
|
4472
|
+
interface UpdateResourceData {
|
|
4473
|
+
name?: string;
|
|
4474
|
+
category?: ResourceCategory;
|
|
4475
|
+
description?: string;
|
|
4476
|
+
/** Changing quantity: increase creates new instances, decrease is blocked if instances have future bookings */
|
|
4477
|
+
quantity?: number;
|
|
4478
|
+
status?: ResourceStatus;
|
|
4479
|
+
}
|
|
4480
|
+
/**
|
|
4481
|
+
* Parameters for creating a blocking event on a resource instance.
|
|
4482
|
+
* Used to mark an instance as unavailable for a time period (maintenance, out of order, etc.).
|
|
4483
|
+
*/
|
|
4484
|
+
interface CreateResourceBlockingEventParams {
|
|
4485
|
+
clinicBranchId: string;
|
|
4486
|
+
resourceId: string;
|
|
4487
|
+
resourceInstanceId: string;
|
|
4488
|
+
/** Display name for the blocking event (e.g., "Maintenance", "Out of Order") */
|
|
4489
|
+
eventName: string;
|
|
4490
|
+
/** Time range during which the instance is blocked */
|
|
4491
|
+
eventTime: CalendarEventTime;
|
|
4492
|
+
/** Optional reason/description for the block */
|
|
4493
|
+
description?: string;
|
|
4494
|
+
}
|
|
4495
|
+
/**
|
|
4496
|
+
* Parameters for updating an existing blocking event on a resource instance.
|
|
4497
|
+
* Only provided fields are updated.
|
|
4498
|
+
*/
|
|
4499
|
+
interface UpdateResourceBlockingEventParams {
|
|
4500
|
+
clinicBranchId: string;
|
|
4501
|
+
resourceId: string;
|
|
4502
|
+
resourceInstanceId: string;
|
|
4503
|
+
/** ID of the blocking event to update */
|
|
4504
|
+
eventId: string;
|
|
4505
|
+
eventName?: string;
|
|
4506
|
+
eventTime?: CalendarEventTime;
|
|
4507
|
+
description?: string;
|
|
4508
|
+
}
|
|
4509
|
+
|
|
4324
4510
|
/**
|
|
4325
4511
|
* Base metrics interface with common properties
|
|
4326
4512
|
*/
|
|
@@ -5214,6 +5400,8 @@ interface Procedure {
|
|
|
5214
5400
|
doctorInfo: DoctorInfo;
|
|
5215
5401
|
/** Aggregated review information for this procedure */
|
|
5216
5402
|
reviewInfo: ProcedureReviewInfo;
|
|
5403
|
+
/** Optional resources required for this procedure (e.g., surgery room, device) */
|
|
5404
|
+
resourceRequirements?: ResourceRequirement[];
|
|
5217
5405
|
/** Whether this procedure is active */
|
|
5218
5406
|
isActive: boolean;
|
|
5219
5407
|
/** When this procedure was created */
|
|
@@ -5248,6 +5436,7 @@ interface CreateProcedureData {
|
|
|
5248
5436
|
practitionerId: string;
|
|
5249
5437
|
clinicBranchId: string;
|
|
5250
5438
|
photos?: MediaResource[];
|
|
5439
|
+
resourceRequirements?: ResourceRequirement[];
|
|
5251
5440
|
}
|
|
5252
5441
|
/**
|
|
5253
5442
|
* Data that can be updated for an existing procedure
|
|
@@ -5276,6 +5465,7 @@ interface UpdateProcedureData {
|
|
|
5276
5465
|
productId?: string;
|
|
5277
5466
|
clinicBranchId?: string;
|
|
5278
5467
|
photos?: MediaResource[];
|
|
5468
|
+
resourceRequirements?: ResourceRequirement[];
|
|
5279
5469
|
}
|
|
5280
5470
|
/**
|
|
5281
5471
|
* Collection name for procedures in Firestore
|
|
@@ -5306,11 +5496,13 @@ interface ProcedureSummaryInfo {
|
|
|
5306
5496
|
clinicName: string;
|
|
5307
5497
|
practitionerId: string;
|
|
5308
5498
|
practitionerName: string;
|
|
5499
|
+
resourceRequirements?: ResourceRequirement[];
|
|
5309
5500
|
}
|
|
5310
5501
|
|
|
5311
5502
|
/**
|
|
5312
5503
|
* RBAC (Role-Based Access Control) types for clinic staff management
|
|
5313
5504
|
*/
|
|
5505
|
+
|
|
5314
5506
|
/**
|
|
5315
5507
|
* Roles that can be assigned to clinic staff members
|
|
5316
5508
|
*/
|
|
@@ -5332,8 +5524,8 @@ interface ClinicStaffMember {
|
|
|
5332
5524
|
role: ClinicRole;
|
|
5333
5525
|
permissions: Record<string, boolean>;
|
|
5334
5526
|
isActive: boolean;
|
|
5335
|
-
createdAt?:
|
|
5336
|
-
updatedAt?:
|
|
5527
|
+
createdAt?: Timestamp;
|
|
5528
|
+
updatedAt?: Timestamp;
|
|
5337
5529
|
}
|
|
5338
5530
|
/**
|
|
5339
5531
|
* Configuration for default permissions assigned to a role
|
|
@@ -5579,7 +5771,8 @@ declare enum BillingTransactionType {
|
|
|
5579
5771
|
SUBSCRIPTION_UPDATED = "subscription_updated",
|
|
5580
5772
|
SUBSCRIPTION_CANCELED = "subscription_canceled",
|
|
5581
5773
|
SUBSCRIPTION_REACTIVATED = "subscription_reactivated",
|
|
5582
|
-
SUBSCRIPTION_DELETED = "subscription_deleted"
|
|
5774
|
+
SUBSCRIPTION_DELETED = "subscription_deleted",
|
|
5775
|
+
ADDON_PURCHASED = "addon_purchased"
|
|
5583
5776
|
}
|
|
5584
5777
|
/**
|
|
5585
5778
|
* Interface for Stripe data in billing transactions
|
|
@@ -6236,6 +6429,8 @@ interface Appointment {
|
|
|
6236
6429
|
isArchived?: boolean;
|
|
6237
6430
|
/** NEW: Metadata for the appointment - used for area selection and photos */
|
|
6238
6431
|
metadata?: AppointmentMetadata;
|
|
6432
|
+
/** Resources booked for this appointment (e.g., surgery room instance, device instance) */
|
|
6433
|
+
resourceBookings?: ResourceBookingInfo[];
|
|
6239
6434
|
}
|
|
6240
6435
|
/**
|
|
6241
6436
|
* Data needed to create a new Appointment
|
|
@@ -6310,6 +6505,8 @@ interface UpdateAppointmentData {
|
|
|
6310
6505
|
updatedAt?: FieldValue;
|
|
6311
6506
|
/** NEW: For updating metadata */
|
|
6312
6507
|
metadata?: AppointmentMetadata;
|
|
6508
|
+
/** For updating resource bookings */
|
|
6509
|
+
resourceBookings?: ResourceBookingInfo[] | FieldValue;
|
|
6313
6510
|
}
|
|
6314
6511
|
/**
|
|
6315
6512
|
* Parameters for searching appointments
|
|
@@ -9682,6 +9879,93 @@ declare class PatientRequirementsService extends BaseService {
|
|
|
9682
9879
|
completeInstruction(patientId: string, instanceId: string, instructionId: string): Promise<PatientRequirementInstance>;
|
|
9683
9880
|
}
|
|
9684
9881
|
|
|
9882
|
+
/**
|
|
9883
|
+
* Service for managing clinic resources and their instances.
|
|
9884
|
+
* Resources are stored as subcollections under clinics:
|
|
9885
|
+
* clinics/{clinicId}/resources/{resourceId}
|
|
9886
|
+
* clinics/{clinicId}/resources/{resourceId}/instances/{instanceId}
|
|
9887
|
+
* clinics/{clinicId}/resources/{resourceId}/instances/{instanceId}/calendar/{eventId}
|
|
9888
|
+
*/
|
|
9889
|
+
declare class ResourceService extends BaseService {
|
|
9890
|
+
/**
|
|
9891
|
+
* Gets reference to a clinic's resources collection
|
|
9892
|
+
*/
|
|
9893
|
+
private getResourcesRef;
|
|
9894
|
+
/**
|
|
9895
|
+
* Gets reference to a specific resource document
|
|
9896
|
+
*/
|
|
9897
|
+
private getResourceDocRef;
|
|
9898
|
+
/**
|
|
9899
|
+
* Gets reference to a resource's instances subcollection
|
|
9900
|
+
*/
|
|
9901
|
+
private getInstancesRef;
|
|
9902
|
+
/**
|
|
9903
|
+
* Gets reference to an instance's calendar subcollection
|
|
9904
|
+
*/
|
|
9905
|
+
private getInstanceCalendarRef;
|
|
9906
|
+
/**
|
|
9907
|
+
* Creates a new resource with its instances.
|
|
9908
|
+
* Creates the resource document and N instance subdocuments in a single batch.
|
|
9909
|
+
*/
|
|
9910
|
+
createResource(data: CreateResourceData): Promise<Resource>;
|
|
9911
|
+
/**
|
|
9912
|
+
* Gets a single resource by ID
|
|
9913
|
+
*/
|
|
9914
|
+
getResource(clinicBranchId: string, resourceId: string): Promise<Resource | null>;
|
|
9915
|
+
/**
|
|
9916
|
+
* Gets all resources for a clinic branch
|
|
9917
|
+
*/
|
|
9918
|
+
getResourcesByClinic(clinicBranchId: string): Promise<Resource[]>;
|
|
9919
|
+
/**
|
|
9920
|
+
* Gets all active resources for a clinic branch
|
|
9921
|
+
*/
|
|
9922
|
+
getActiveResourcesByClinic(clinicBranchId: string): Promise<Resource[]>;
|
|
9923
|
+
/**
|
|
9924
|
+
* Updates a resource. Handles quantity changes:
|
|
9925
|
+
* - Increasing quantity: creates new instances
|
|
9926
|
+
* - Decreasing quantity: blocked if affected instances have future bookings
|
|
9927
|
+
*/
|
|
9928
|
+
updateResource(clinicBranchId: string, resourceId: string, data: UpdateResourceData): Promise<Resource>;
|
|
9929
|
+
/**
|
|
9930
|
+
* Soft deletes a resource by setting status to INACTIVE
|
|
9931
|
+
*/
|
|
9932
|
+
deleteResource(clinicBranchId: string, resourceId: string): Promise<void>;
|
|
9933
|
+
/**
|
|
9934
|
+
* Gets all instances for a resource
|
|
9935
|
+
*/
|
|
9936
|
+
getResourceInstances(clinicBranchId: string, resourceId: string): Promise<ResourceInstance[]>;
|
|
9937
|
+
/**
|
|
9938
|
+
* Gets active instances for a resource
|
|
9939
|
+
*/
|
|
9940
|
+
getActiveResourceInstances(clinicBranchId: string, resourceId: string): Promise<ResourceInstance[]>;
|
|
9941
|
+
/**
|
|
9942
|
+
* Gets calendar events for a specific resource instance within a time range
|
|
9943
|
+
*/
|
|
9944
|
+
getResourceCalendarEvents(clinicBranchId: string, resourceId: string, instanceId: string, start: Timestamp, end: Timestamp): Promise<ResourceCalendarEvent[]>;
|
|
9945
|
+
/**
|
|
9946
|
+
* Checks if a resource instance has any future active bookings
|
|
9947
|
+
*/
|
|
9948
|
+
private instanceHasFutureBookings;
|
|
9949
|
+
/**
|
|
9950
|
+
* Creates a blocking event on a resource instance's calendar.
|
|
9951
|
+
* Blocking events prevent the instance from being booked during the specified time.
|
|
9952
|
+
*/
|
|
9953
|
+
createResourceBlockingEvent(params: CreateResourceBlockingEventParams): Promise<ResourceCalendarEvent>;
|
|
9954
|
+
/**
|
|
9955
|
+
* Updates an existing blocking event on a resource instance's calendar.
|
|
9956
|
+
* Only provided fields are updated.
|
|
9957
|
+
*/
|
|
9958
|
+
updateResourceBlockingEvent(params: UpdateResourceBlockingEventParams): Promise<ResourceCalendarEvent>;
|
|
9959
|
+
/**
|
|
9960
|
+
* Deletes a blocking event from a resource instance's calendar (hard delete).
|
|
9961
|
+
*/
|
|
9962
|
+
deleteResourceBlockingEvent(clinicBranchId: string, resourceId: string, instanceId: string, eventId: string): Promise<void>;
|
|
9963
|
+
/**
|
|
9964
|
+
* Gets all blocking events for a resource instance, ordered by start time.
|
|
9965
|
+
*/
|
|
9966
|
+
getResourceInstanceBlockingEvents(clinicBranchId: string, resourceId: string, instanceId: string): Promise<ResourceCalendarEvent[]>;
|
|
9967
|
+
}
|
|
9968
|
+
|
|
9685
9969
|
declare class ReviewService extends BaseService {
|
|
9686
9970
|
constructor(db: Firestore, auth: Auth, app: FirebaseApp);
|
|
9687
9971
|
/**
|
|
@@ -9771,7 +10055,7 @@ declare function getEffectiveTier(db: Firestore, clinicGroupId: string): Promise
|
|
|
9771
10055
|
declare function enforceProviderLimit(db: Firestore, clinicGroupId: string, branchId: string): Promise<void>;
|
|
9772
10056
|
/**
|
|
9773
10057
|
* Enforces tier limit before creating a procedure for a provider in a branch.
|
|
9774
|
-
* Add-on aware: effective limit = base + (procedureBlocks ×
|
|
10058
|
+
* Add-on aware: effective limit = base + (procedureBlocks × 5).
|
|
9775
10059
|
*/
|
|
9776
10060
|
declare function enforceProcedureLimit(db: Firestore, clinicGroupId: string, branchId: string, providerId: string, count?: number): Promise<void>;
|
|
9777
10061
|
/**
|
|
@@ -9822,6 +10106,10 @@ declare const PERMISSION_KEYS: {
|
|
|
9822
10106
|
readonly 'procedures.create': true;
|
|
9823
10107
|
readonly 'procedures.edit': true;
|
|
9824
10108
|
readonly 'procedures.delete': true;
|
|
10109
|
+
readonly 'resources.view': true;
|
|
10110
|
+
readonly 'resources.create': true;
|
|
10111
|
+
readonly 'resources.edit': true;
|
|
10112
|
+
readonly 'resources.delete': true;
|
|
9825
10113
|
readonly 'patients.view': true;
|
|
9826
10114
|
readonly 'patients.edit': true;
|
|
9827
10115
|
readonly 'providers.view': true;
|
|
@@ -9841,11 +10129,11 @@ type PermissionKey = keyof typeof PERMISSION_KEYS;
|
|
|
9841
10129
|
* - Appointments and messages are NEVER limited (bad patient UX)
|
|
9842
10130
|
* - Providers are per branch, not per clinic group
|
|
9843
10131
|
* - Procedures are per provider (each provider gets this allowance)
|
|
9844
|
-
* - Add-ons available on Connect/Pro: +1 branch, +1 provider, +
|
|
10132
|
+
* - Add-ons available on Connect/Pro: +1 branch, +1 provider, +5 treatments
|
|
9845
10133
|
*
|
|
9846
|
-
* Free: 1 branch, 1 provider/branch, 3
|
|
9847
|
-
* Connect (CHF
|
|
9848
|
-
* Pro (CHF
|
|
10134
|
+
* Free: 1 branch, 1 provider/branch, 3 treatments/provider
|
|
10135
|
+
* Connect (CHF 199/mo): 1 branch, 3 providers/branch, 10 treatments/provider
|
|
10136
|
+
* Pro (CHF 449/mo): 3 branches, 5 providers/branch, 20 treatments/provider
|
|
9849
10137
|
*/
|
|
9850
10138
|
declare const TIER_CONFIG: Record<string, TierConfig>;
|
|
9851
10139
|
/**
|
|
@@ -9858,4 +10146,4 @@ declare const DEFAULT_ROLE_PERMISSIONS: Record<ClinicRole, Record<string, boolea
|
|
|
9858
10146
|
*/
|
|
9859
10147
|
declare function resolveEffectiveTier(subscriptionModel: string): string;
|
|
9860
10148
|
|
|
9861
|
-
export { AESTHETIC_ANALYSIS_COLLECTION, ANALYTICS_COLLECTION, APPOINTMENTS_COLLECTION, type ASAClassification, AcquisitionSource, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type AestheticAnalysis, type AestheticAnalysisStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, AnalyticsCloudService, type AnalyticsDateRange, type AnalyticsFilters, type AnalyticsMetadata, type AnalyticsPeriod, AnalyticsService, type AnesthesiaHistory, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentProductMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, type AppointmentRescheduledReminderNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, type AppointmentTrend, type AssessmentScales, AuthService, BODY_ASSESSMENT_COLLECTION, type BaseDocumentElement, type BaseMetrics, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingInfo, type BillingPerZone, type BillingTransaction, BillingTransactionType, BillingTransactionsService, type BinaryChoiceElement, type BleedingRisk, type BleedingRiskLevel, BlockingCondition, type BodyAssessment, type BodyAssessmentStatus, type BodyCompositionData, type BodyMeasurementsData, type BodySymmetryData, type BodyZone, type BodyZoneAssessment, type Brand, BrandService, type Break, CALENDAR_COLLECTION, CANCELLATION_ANALYTICS_SUBCOLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_ANALYTICS_SUBCOLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, CalendarSyncStatus, type CancellationMetrics, type CancellationRateTrend, type CancellationReasonStats, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type ClearanceStatus, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicAnalytics, type ClinicBranchSetupData, type ClinicComparisonMetrics, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicRole, ClinicService, type ClinicStaffMember, ClinicTag, type ClinicTags, type ClinicalFindingDetail, type ClinicalFindings, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, CosmeticAllergySubtype, type CostPerPatientMetrics, type CreateAdminTokenData, type CreateAestheticAnalysisData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBillingTransactionData, type CreateBlockingEventParams, type CreateBodyAssessmentData, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreateHairScalpAssessmentData, type CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreatePreSurgicalAssessmentData, type CreateProcedureData, type CreateSkinQualityAssessmentData, type CreateSyncedCalendarData, type CreateUserData, Currency, DASHBOARD_ANALYTICS_SUBCOLLECTION, DEFAULT_MEDICAL_INFO, DEFAULT_ROLE_PERMISSIONS, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DashboardAnalytics, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DurationTrend, type DynamicTextElement, DynamicVariable, type ElastosisGrade, type EmergencyContact, type EntityType, EnvironmentalAllergySubtype, type ExtendedProcedureInfo, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, type FitzpatrickType, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type GlogauClassification, type GroupedAnalyticsBase, type GroupedPatientBehaviorMetrics, type GroupedPatientRetentionMetrics, type GroupedPractitionerPerformanceMetrics, type GroupedProcedurePerformanceMetrics, type GroupedProductUsageMetrics, type GroupedRevenueMetrics, type GroupedTimeEfficiencyMetrics, type GroupingPeriod, HAIR_SCALP_ASSESSMENT_COLLECTION, type HairCharacteristics, type HairColor, type HairDensity, type HairLossPattern, type HairLossType, type HairLossZone, type HairLossZoneAssessment, type HairScalpAssessment, type HairScalpAssessmentStatus, type HairTextureGrade, type HairType, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, type LabResult, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, type LudwigStage, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, type MuscleDefinitionLevel, NOTIFICATIONS_COLLECTION, NO_SHOW_ANALYTICS_SUBCOLLECTION, type NextStepsRecommendation, type NoShowMetrics, type NorwoodStage, type Notification, NotificationService, NotificationStatus, NotificationType, type OverallReviewAverages, 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, PERMISSION_KEYS, PRACTITIONERS_COLLECTION, PRACTITIONER_ANALYTICS_SUBCOLLECTION, PRACTITIONER_INVITES_COLLECTION, PRE_SURGICAL_ASSESSMENT_COLLECTION, PROCEDURES_COLLECTION, PROCEDURE_ANALYTICS_SUBCOLLECTION, type ParagraphElement, type PatientAnalytics, type PatientClinic, type PatientDoctor, type PatientGoals, PatientInstructionStatus, type PatientLifetimeValueMetrics, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileForDoctor, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, type PatientRequirementsFilters, PatientRequirementsService, type PatientRetentionMetrics, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, PaymentStatus, type PaymentStatusBreakdown, type PermissionKey, type PlanDetails, type PoreSizeLevel, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerAnalytics, 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, type PreSurgicalAssessment, type PreSurgicalAssessmentStatus, PricingMeasure, type Procedure, type ProcedureAnalytics, type ProcedureCategorization, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedurePopularity, type ProcedureProduct, type ProcedureProfitability, type ProcedureRecommendationNotification, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, type ProductRevenueMetrics, ProductService, type ProductUsageByProcedure, type ProductUsageMetrics, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVENUE_ANALYTICS_SUBCOLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type ReadStoredAnalyticsOptions, type RecommendedProcedure, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, type RequirementSourceProcedure, RequirementType, type RevenueMetrics, type RevenueTrend, type Review, type ReviewAnalyticsMetrics, ReviewAnalyticsService, type ReviewDetail, type ReviewMetrics, type ReviewRequestNotification, ReviewService, type ReviewTrend, type RolePermissionConfig, SKIN_QUALITY_ASSESSMENT_COLLECTION, SYNCED_CALENDARS_COLLECTION, type ScalpCondition, type ScalpRednessLevel, type ScalpScalinessLevel, type ScalpSebumLevel, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SeverityLevel, type SignatureElement, type SingleChoiceElement, type SkinCharacteristics, type SkinConditionEntry, type SkinConditionType, type SkinElasticityLevel, type SkinHydrationLevel, type SkinQualityAssessment, type SkinQualityAssessmentStatus, type SkinQualityScales, type SkinSensitivityLevel, type SkinTextureLevel, type SkinZone, type SkinZoneAssessment, type SmokingStatus, type StoredCancellationMetrics, type StoredClinicAnalytics, type StoredDashboardAnalytics, type StoredNoShowMetrics, type StoredPractitionerAnalytics, type StoredProcedureAnalytics, type StoredRevenueMetrics, type StoredTimeEfficiencyMetrics, type StripeTransactionData, type Subcategory, SubcategoryService, SubscriptionModel, SubscriptionStatus, type SurgicalSiteAssessment, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, TIER_CONFIG, TIME_EFFICIENCY_ANALYTICS_SUBCOLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TierConfig, TierLimitError, type TierLimits, type TimeEfficiencyMetrics, type TimeSlot, TimeUnit, type TissueQualityLevel, TreatmentBenefit, type TreatmentBenefitDynamic, type TrendPeriod, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAestheticAnalysisData, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, type UpdateBodyAssessmentData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateHairScalpAssessmentData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdatePreSurgicalAssessmentData, type UpdateProcedureData, type UpdateSkinQualityAssessmentData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type VitalStats, type WorkingHours, type ZoneItemData, type ZonePhotoUploadData, enforceBranchLimit, enforceProcedureLimit, enforceProviderLimit, getEffectiveTier, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase, resolveEffectiveTier };
|
|
10149
|
+
export { AESTHETIC_ANALYSIS_COLLECTION, ANALYTICS_COLLECTION, APPOINTMENTS_COLLECTION, type ASAClassification, AcquisitionSource, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type AestheticAnalysis, type AestheticAnalysisStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, AnalyticsCloudService, type AnalyticsDateRange, type AnalyticsFilters, type AnalyticsMetadata, type AnalyticsPeriod, AnalyticsService, type AnesthesiaHistory, type Appointment, type AppointmentCancelledNotification, type AppointmentMediaItem, type AppointmentMetadata, type AppointmentProductMetadata, type AppointmentReminderNotification, type AppointmentRescheduledProposalNotification, type AppointmentRescheduledReminderNotification, AppointmentService, AppointmentStatus, type AppointmentStatusChangeNotification, type AppointmentTrend, type AssessmentScales, AuthService, BODY_ASSESSMENT_COLLECTION, type BaseDocumentElement, type BaseMetrics, type BaseNotification, BaseService, type BeforeAfterPerZone, type BillingInfo, type BillingPerZone, type BillingTransaction, BillingTransactionType, BillingTransactionsService, type BinaryChoiceElement, type BleedingRisk, type BleedingRiskLevel, BlockingCondition, type BodyAssessment, type BodyAssessmentStatus, type BodyCompositionData, type BodyMeasurementsData, type BodySymmetryData, type BodyZone, type BodyZoneAssessment, type Brand, BrandService, type Break, CALENDAR_COLLECTION, CANCELLATION_ANALYTICS_SUBCOLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_ANALYTICS_SUBCOLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, CalendarSyncStatus, type CancellationMetrics, type CancellationRateTrend, type CancellationReasonStats, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type ClearanceStatus, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicAnalytics, type ClinicBranchSetupData, type ClinicComparisonMetrics, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicRole, ClinicService, type ClinicStaffMember, ClinicTag, type ClinicTags, type ClinicalFindingDetail, type ClinicalFindings, ConstantsService, type ContactPerson, Contraindication, type ContraindicationDynamic, CosmeticAllergySubtype, type CostPerPatientMetrics, type CreateAdminTokenData, type CreateAestheticAnalysisData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBillingTransactionData, type CreateBlockingEventParams, type CreateBodyAssessmentData, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreateHairScalpAssessmentData, type CreateManualPatientData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePatientTokenData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreatePreSurgicalAssessmentData, type CreateProcedureData, type CreateResourceBlockingEventParams, type CreateResourceData, type CreateSkinQualityAssessmentData, type CreateSyncedCalendarData, type CreateUserData, Currency, DASHBOARD_ANALYTICS_SUBCOLLECTION, DEFAULT_MEDICAL_INFO, DEFAULT_ROLE_PERMISSIONS, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DashboardAnalytics, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DurationTrend, type DynamicTextElement, DynamicVariable, type ElastosisGrade, type EmergencyContact, type EntityType, EnvironmentalAllergySubtype, type ExtendedProcedureInfo, ExternalCalendarService, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, type FinalBilling, type FirebaseUser, type FitzpatrickType, FoodAllergySubtype, type FormReminderNotification, type FormSubmissionConfirmationNotification, type GamificationInfo, Gender, type GeneralMessageNotification, type GlogauClassification, type GroupedAnalyticsBase, type GroupedPatientBehaviorMetrics, type GroupedPatientRetentionMetrics, type GroupedPractitionerPerformanceMetrics, type GroupedProcedurePerformanceMetrics, type GroupedProductUsageMetrics, type GroupedRevenueMetrics, type GroupedTimeEfficiencyMetrics, type GroupingPeriod, HAIR_SCALP_ASSESSMENT_COLLECTION, type HairCharacteristics, type HairColor, type HairDensity, type HairLossPattern, type HairLossType, type HairLossZone, type HairLossZoneAssessment, type HairScalpAssessment, type HairScalpAssessmentStatus, type HairTextureGrade, type HairType, type HeadingElement, HeadingLevel, INVITE_TOKENS_COLLECTION, type LabResult, Language, type LinkedFormInfo, type ListElement, ListType, type LocationData, type LudwigStage, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MediaType, MedicationAllergySubtype, type MultipleChoiceElement, type MuscleDefinitionLevel, NOTIFICATIONS_COLLECTION, NO_SHOW_ANALYTICS_SUBCOLLECTION, type NextStepsRecommendation, type NoShowMetrics, type NorwoodStage, type Notification, NotificationService, NotificationStatus, NotificationType, type OverallReviewAverages, 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, PERMISSION_KEYS, PRACTITIONERS_COLLECTION, PRACTITIONER_ANALYTICS_SUBCOLLECTION, PRACTITIONER_INVITES_COLLECTION, PRE_SURGICAL_ASSESSMENT_COLLECTION, PROCEDURES_COLLECTION, PROCEDURE_ANALYTICS_SUBCOLLECTION, type ParagraphElement, type PatientAnalytics, type PatientClinic, type PatientDoctor, type PatientGoals, PatientInstructionStatus, type PatientLifetimeValueMetrics, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileForDoctor, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, type PatientRequirementsFilters, PatientRequirementsService, type PatientRetentionMetrics, type PatientReviewInfo, type PatientSensitiveInfo, PatientService, type PatientToken, PatientTokenStatus, type PaymentConfirmationNotification, PaymentStatus, type PaymentStatusBreakdown, type PermissionKey, type PlanDetails, type PoreSizeLevel, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerAnalytics, 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, type PreSurgicalAssessment, type PreSurgicalAssessmentStatus, PricingMeasure, type Procedure, type ProcedureAnalytics, type ProcedureCategorization, type ProcedureExtendedInfo, ProcedureFamily, type ProcedureInfo, type ProcedurePopularity, type ProcedureProduct, type ProcedureProfitability, type ProcedureRecommendationNotification, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type ProcedureSummaryInfo, type Product, type ProductRevenueMetrics, ProductService, type ProductUsageByProcedure, type ProductUsageMetrics, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, RESOURCES_COLLECTION, RESOURCE_CALENDAR_SUBCOLLECTION, RESOURCE_INSTANCES_SUBCOLLECTION, REVENUE_ANALYTICS_SUBCOLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type ReadStoredAnalyticsOptions, type RecommendedProcedure, type RequesterInfo, type Requirement, type RequirementInstructionDueNotification, type RequirementSourceProcedure, RequirementType, type Resource, type ResourceBookingInfo, type ResourceCalendarEvent, ResourceCategory, type ResourceInstance, type ResourceRequirement, ResourceService, ResourceStatus, type RevenueMetrics, type RevenueTrend, type Review, type ReviewAnalyticsMetrics, ReviewAnalyticsService, type ReviewDetail, type ReviewMetrics, type ReviewRequestNotification, ReviewService, type ReviewTrend, type RolePermissionConfig, SKIN_QUALITY_ASSESSMENT_COLLECTION, SYNCED_CALENDARS_COLLECTION, type ScalpCondition, type ScalpRednessLevel, type ScalpScalinessLevel, type ScalpSebumLevel, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SeverityLevel, type SignatureElement, type SingleChoiceElement, type SkinCharacteristics, type SkinConditionEntry, type SkinConditionType, type SkinElasticityLevel, type SkinHydrationLevel, type SkinQualityAssessment, type SkinQualityAssessmentStatus, type SkinQualityScales, type SkinSensitivityLevel, type SkinTextureLevel, type SkinZone, type SkinZoneAssessment, type SmokingStatus, type StoredCancellationMetrics, type StoredClinicAnalytics, type StoredDashboardAnalytics, type StoredNoShowMetrics, type StoredPractitionerAnalytics, type StoredProcedureAnalytics, type StoredRevenueMetrics, type StoredTimeEfficiencyMetrics, type StripeTransactionData, type Subcategory, SubcategoryService, SubscriptionModel, SubscriptionStatus, type SurgicalSiteAssessment, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, TIER_CONFIG, TIME_EFFICIENCY_ANALYTICS_SUBCOLLECTION, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TierConfig, TierLimitError, type TierLimits, type TimeEfficiencyMetrics, type TimeSlot, TimeUnit, type TissueQualityLevel, TreatmentBenefit, type TreatmentBenefitDynamic, type TrendPeriod, USERS_COLLECTION, USER_FORMS_SUBCOLLECTION, type UpdateAestheticAnalysisData, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, type UpdateBodyAssessmentData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateHairScalpAssessmentData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdatePreSurgicalAssessmentData, type UpdateProcedureData, type UpdateResourceBlockingEventParams, type UpdateResourceData, type UpdateSkinQualityAssessmentData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type VitalStats, type WorkingHours, type ZoneItemData, type ZonePhotoUploadData, enforceBranchLimit, enforceProcedureLimit, enforceProviderLimit, getEffectiveTier, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseFunctions, getFirebaseInstance, getFirebaseStorage, initializeFirebase, resolveEffectiveTier };
|