@doctocar/tooling 0.3.1-21 → 0.3.1-22

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.
Files changed (155) hide show
  1. package/dist/emails/types/professional/ProfessionalOrderIssueReportedConfirmationEmailData.type.d.ts +1 -1
  2. package/dist/emails/types/professional/ProfessionalServiceCompletedByProfessionalEmailData.type.d.ts +1 -1
  3. package/dist/errors/enums/cloudFunctions/orders/CancelConfirmedOrInProgressOrderErrorCodes.enum.d.ts +1 -1
  4. package/dist/errors/enums/cloudFunctions/orders/CancelConfirmedOrInProgressOrderErrorCodes.enum.js +1 -1
  5. package/dist/errors/enums/cloudFunctions/orders/ConfirmServiceCompletionByServiceProviderErrorCodes.enum.d.ts +7 -0
  6. package/dist/errors/enums/cloudFunctions/orders/ConfirmServiceCompletionByServiceProviderErrorCodes.enum.js +11 -0
  7. package/dist/errors/enums/cloudFunctions/orders/StartConfirmedOrderByServiceProviderErrorCodes.enum.d.ts +6 -0
  8. package/dist/errors/enums/cloudFunctions/orders/StartConfirmedOrderByServiceProviderErrorCodes.enum.js +10 -0
  9. package/dist/errors/enums/cloudFunctions/orders/index.d.ts +2 -2
  10. package/dist/errors/enums/cloudFunctions/orders/index.js +2 -2
  11. package/dist/errors/enums/cloudFunctions/serviceProviderUsers/DeleteServiceProviderUserServiceErrorCodes.enum.d.ts +1 -1
  12. package/dist/errors/enums/cloudFunctions/serviceProviderUsers/DeleteServiceProviderUserServiceErrorCodes.enum.js +1 -1
  13. package/dist/errors/enums/cloudFunctions/serviceProviderUsers/UpdateServiceProviderUserServiceErrorCodes.enum.d.ts +1 -1
  14. package/dist/errors/enums/cloudFunctions/serviceProviderUsers/UpdateServiceProviderUserServiceErrorCodes.enum.js +1 -1
  15. package/dist/firebase/cloudFunctions/enums/OnCallCloudFunctionsNames.enum.d.ts +2 -2
  16. package/dist/firebase/cloudFunctions/enums/OnCallCloudFunctionsNames.enum.js +2 -2
  17. package/dist/firebase/cloudFunctions/enums/TaskCloudFunctionsNames.enum.d.ts +1 -1
  18. package/dist/firebase/cloudFunctions/enums/TaskCloudFunctionsNames.enum.js +1 -1
  19. package/dist/firebase/cloudFunctions/maps/OnCallCloudFunctionsTypeMappings.map.d.ts +7 -7
  20. package/dist/firebase/cloudFunctions/types/orders/ConfirmServiceCompletionByServiceProviderRequestData.type.d.ts +4 -0
  21. package/dist/firebase/cloudFunctions/types/orders/ConfirmServiceCompletionByServiceProviderRequestData.type.js +2 -0
  22. package/dist/firebase/cloudFunctions/types/orders/ConfirmServiceCompletionByServiceProviderResponseData.type.d.ts +1 -0
  23. package/dist/firebase/cloudFunctions/types/orders/ConfirmServiceCompletionByServiceProviderResponseData.type.js +2 -0
  24. package/dist/firebase/cloudFunctions/types/orders/StartConfirmedOrderByServiceProviderRequestData.type.d.ts +4 -0
  25. package/dist/firebase/cloudFunctions/types/orders/StartConfirmedOrderByServiceProviderRequestData.type.js +2 -0
  26. package/dist/firebase/cloudFunctions/types/orders/StartConfirmedOrderByServiceProviderResponseData.type.d.ts +1 -0
  27. package/dist/firebase/cloudFunctions/types/orders/StartConfirmedOrderByServiceProviderResponseData.type.js +2 -0
  28. package/dist/firebase/cloudFunctions/types/orders/index.d.ts +4 -4
  29. package/dist/firebase/cloudFunctions/types/orders/index.js +4 -4
  30. package/dist/firebase/cloudFunctions/types/users/serviceProviderUsers/UpdateServiceProviderUserServiceRequestData.type.d.ts +2 -2
  31. package/dist/firebase/firestore/constants/index.d.ts +4 -4
  32. package/dist/firebase/firestore/constants/index.js +4 -4
  33. package/dist/firebase/firestore/constants/providerLocationServiceMaxRadiusInKM.constant.d.ts +1 -0
  34. package/dist/firebase/firestore/constants/providerLocationServiceMaxRadiusInKM.constant.js +4 -0
  35. package/dist/firebase/firestore/constants/providerLocationServiceMinRadiusInKM.constant.d.ts +1 -0
  36. package/dist/firebase/firestore/constants/providerLocationServiceMinRadiusInKM.constant.js +4 -0
  37. package/dist/firebase/firestore/constants/providerServiceMinimumDurationIncrementInMinutes.constant.d.ts +1 -0
  38. package/dist/firebase/firestore/constants/providerServiceMinimumDurationIncrementInMinutes.constant.js +4 -0
  39. package/dist/firebase/firestore/constants/providerServiceMinimumPriceIncrementInCents.constant.d.ts +1 -0
  40. package/dist/firebase/firestore/constants/providerServiceMinimumPriceIncrementInCents.constant.js +4 -0
  41. package/dist/firebase/firestore/enums/FirestoreCollections.enum.d.ts +1 -1
  42. package/dist/firebase/firestore/enums/FirestoreCollections.enum.js +1 -1
  43. package/dist/firebase/firestore/enums/orders/OrderCancellationByTypes.enum.d.ts +1 -1
  44. package/dist/firebase/firestore/enums/orders/OrderCancellationByTypes.enum.js +1 -1
  45. package/dist/firebase/firestore/enums/orders/OrderServiceProviderCancellationReason.enum.d.ts +7 -7
  46. package/dist/firebase/firestore/enums/orders/OrderServiceProviderCancellationReason.enum.js +7 -7
  47. package/dist/firebase/firestore/enums/orders/dispute/OrderDisputeOpenedBy.enum.d.ts +1 -1
  48. package/dist/firebase/firestore/enums/orders/dispute/OrderDisputeOpenedBy.enum.js +1 -1
  49. package/dist/firebase/firestore/enums/orders/index.d.ts +1 -1
  50. package/dist/firebase/firestore/enums/orders/index.js +1 -1
  51. package/dist/firebase/firestore/enums/ordersIssues/CustomerOrderIssueReason.enum.d.ts +2 -2
  52. package/dist/firebase/firestore/enums/ordersIssues/CustomerOrderIssueReason.enum.js +2 -2
  53. package/dist/firebase/firestore/enums/ordersIssues/ServiceProviderOrderIssueReason.enum.d.ts +10 -0
  54. package/dist/firebase/firestore/enums/ordersIssues/ServiceProviderOrderIssueReason.enum.js +14 -0
  55. package/dist/firebase/firestore/enums/ordersIssues/index.d.ts +1 -1
  56. package/dist/firebase/firestore/enums/ordersIssues/index.js +1 -1
  57. package/dist/firebase/firestore/enums/users/professionals/ServiceProviderBadgesTypes.enum.d.ts +3 -0
  58. package/dist/firebase/firestore/enums/users/professionals/ServiceProviderBadgesTypes.enum.js +7 -0
  59. package/dist/firebase/firestore/enums/users/professionals/index.d.ts +1 -1
  60. package/dist/firebase/firestore/enums/users/professionals/index.js +1 -1
  61. package/dist/firebase/firestore/maps/FirestoreCollectionDocumentTypeMap.d.ts +2 -2
  62. package/dist/firebase/firestore/types/index.d.ts +1 -1
  63. package/dist/firebase/firestore/types/index.js +1 -1
  64. package/dist/firebase/firestore/types/order/FirestoreOrderCancellationReason.type.d.ts +2 -2
  65. package/dist/firebase/firestore/types/ordersIssues/OrderIssueReason.type.d.ts +2 -2
  66. package/dist/firebase/firestore/types/ordersReviews/FirestoreOrderReviewDocument.type.d.ts +1 -1
  67. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/FirestoreServiceProviderUserPublicDocument.type.d.ts +49 -0
  68. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/FirestoreServiceProviderUserPublicDocument.type.js +2 -0
  69. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/FirestoreServiceProviderUserPublicDocumentReviewAggregates.type.d.ts +4 -0
  70. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/FirestoreServiceProviderUserPublicDocumentReviewAggregates.type.js +2 -0
  71. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/FirestoreServiceProviderUserPublicDocumentServicesLocation.type.d.ts +4 -0
  72. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/FirestoreServiceProviderUserPublicDocumentServicesLocation.type.js +2 -0
  73. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/index.d.ts +3 -0
  74. package/dist/firebase/firestore/types/serviceProviderUserPublicDocument/index.js +19 -0
  75. package/dist/firebase/firestore/types/services/ProviderService.type.d.ts +8 -0
  76. package/dist/firebase/firestore/types/services/ProviderService.type.js +2 -0
  77. package/dist/firebase/firestore/types/services/ServiceProviderService.type.d.ts +8 -0
  78. package/dist/firebase/firestore/types/services/ServiceProviderService.type.js +2 -0
  79. package/dist/firebase/firestore/types/services/index.d.ts +1 -1
  80. package/dist/firebase/firestore/types/services/index.js +1 -1
  81. package/dist/firebase/firestore/utils/dataValidators/services/__tests__/isValidProfessionalService.test.js +11 -11
  82. package/dist/firebase/firestore/utils/dataValidators/services/__tests__/isValidProviderService.test.d.ts +1 -0
  83. package/dist/firebase/firestore/utils/dataValidators/services/__tests__/isValidProviderService.test.js +172 -0
  84. package/dist/firebase/firestore/utils/dataValidators/services/__tests__/isValidServicePricingAndDurationForVehicle.test.js +9 -9
  85. package/dist/firebase/firestore/utils/dataValidators/services/index.d.ts +1 -1
  86. package/dist/firebase/firestore/utils/dataValidators/services/index.js +1 -1
  87. package/dist/firebase/firestore/utils/dataValidators/services/isValidProfessionalService.d.ts +1 -1
  88. package/dist/firebase/firestore/utils/dataValidators/services/isValidProfessionalService.js +13 -13
  89. package/dist/firebase/firestore/utils/dataValidators/services/isValidProviderService.d.ts +2 -0
  90. package/dist/firebase/firestore/utils/dataValidators/services/isValidProviderService.js +42 -0
  91. package/dist/firebase/firestore/utils/dataValidators/services/isValidServicePricingAndDurationForVehicle.js +2 -2
  92. package/dist/firebase/firestore/utils/dataValidators/services/types/IsValidProfessionalServiceParams.type.d.ts +2 -2
  93. package/dist/firebase/firestore/utils/dataValidators/services/types/IsValidProviderServiceParams.type.d.ts +6 -0
  94. package/dist/firebase/firestore/utils/dataValidators/services/types/IsValidProviderServiceParams.type.js +2 -0
  95. package/dist/firebase/firestore/utils/dataValidators/services/types/index.d.ts +1 -1
  96. package/dist/firebase/firestore/utils/dataValidators/services/types/index.js +1 -1
  97. package/dist/firebase/firestore/utils/order/__tests__/buildOrderServicePreTaxLinesAndServicesDetails.test.js +13 -13
  98. package/dist/firebase/firestore/utils/order/buildOrderServicePreTaxLinesAndServicesDetails.d.ts +1 -1
  99. package/dist/firebase/firestore/utils/order/buildOrderServicePreTaxLinesAndServicesDetails.js +2 -2
  100. package/dist/firebase/firestore/utils/order/types/BuildOrderServicePreTaxLinesAndServicesDetailsProps.type.d.ts +2 -2
  101. package/dist/firebase/firestore/utils/reviews/__tests__/getAverageRatingFromReviewAggregates.test.d.ts +1 -0
  102. package/dist/firebase/firestore/utils/reviews/__tests__/getAverageRatingFromReviewAggregates.test.js +97 -0
  103. package/dist/firebase/firestore/utils/reviews/getAverageRatingFromReviewAggregates.d.ts +2 -0
  104. package/dist/firebase/firestore/utils/reviews/getAverageRatingFromReviewAggregates.js +13 -0
  105. package/dist/firebase/firestore/utils/reviews/index.d.ts +1 -1
  106. package/dist/firebase/firestore/utils/reviews/index.js +1 -1
  107. package/dist/firebase/firestore/utils/services/__tests__/computeTotalServiceProviderServiceDurationInMinutesForVehicleType.test.d.ts +1 -0
  108. package/dist/firebase/firestore/utils/services/__tests__/computeTotalServiceProviderServiceDurationInMinutesForVehicleType.test.js +101 -0
  109. package/dist/firebase/firestore/utils/services/__tests__/createServiceVehicleComboKey.test.js +4 -4
  110. package/dist/firebase/firestore/utils/services/__tests__/getBookableServiceProviderServicesForVehicleType.test.js +49 -49
  111. package/dist/firebase/firestore/utils/services/__tests__/getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow.test.js +32 -32
  112. package/dist/firebase/firestore/utils/services/computeTotalServiceProviderServiceDurationInMinutesForVehicleType.d.ts +2 -0
  113. package/dist/firebase/firestore/utils/services/computeTotalServiceProviderServiceDurationInMinutesForVehicleType.js +18 -0
  114. package/dist/firebase/firestore/utils/services/getBookableServiceProviderServicesForVehicleType.d.ts +3 -3
  115. package/dist/firebase/firestore/utils/services/getBookableServiceProviderServicesForVehicleType.js +11 -11
  116. package/dist/firebase/firestore/utils/services/getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow.d.ts +1 -1
  117. package/dist/firebase/firestore/utils/services/getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow.js +2 -2
  118. package/dist/firebase/firestore/utils/services/index.d.ts +1 -1
  119. package/dist/firebase/firestore/utils/services/index.js +1 -1
  120. package/dist/firebase/firestore/utils/services/types/ComputeTotalServiceProviderServiceDurationInMinutesForVehicleTypeArgs.type.d.ts +7 -0
  121. package/dist/firebase/firestore/utils/services/types/ComputeTotalServiceProviderServiceDurationInMinutesForVehicleTypeArgs.type.js +2 -0
  122. package/dist/firebase/firestore/utils/services/types/GetBookableServiceProviderServicesForVehicleTypeParams.type.d.ts +2 -2
  123. package/dist/firebase/firestore/utils/services/types/GetServiceProviderActiveServicePricingAndDurationForVehicleOrThrowParams.type.d.ts +2 -2
  124. package/dist/firebase/firestore/utils/services/types/index.d.ts +1 -1
  125. package/dist/firebase/firestore/utils/services/types/index.js +1 -1
  126. package/dist/firebase/firestore/utils/stubs/index.d.ts +1 -1
  127. package/dist/firebase/firestore/utils/stubs/index.js +1 -1
  128. package/dist/firebase/firestore/utils/stubs/ordersReviews/firestoreOrderReviewDocumentStub.js +1 -1
  129. package/dist/firebase/firestore/utils/stubs/serviceProviderUserPublicDocument/firestoreServiceProviderUserPublicDocumentStub.d.ts +2 -0
  130. package/dist/firebase/firestore/utils/stubs/serviceProviderUserPublicDocument/firestoreServiceProviderUserPublicDocumentStub.js +44 -0
  131. package/dist/firebase/firestore/utils/stubs/serviceProviderUserPublicDocument/index.d.ts +1 -0
  132. package/dist/firebase/firestore/utils/stubs/serviceProviderUserPublicDocument/index.js +17 -0
  133. package/dist/firebase/firestore/utils/stubs/services/index.d.ts +1 -1
  134. package/dist/firebase/firestore/utils/stubs/services/index.js +1 -1
  135. package/dist/firebase/firestore/utils/stubs/services/pricingAndDurationForVehicleStub.js +2 -2
  136. package/dist/firebase/firestore/utils/stubs/services/providerServiceStub.d.ts +5 -0
  137. package/dist/firebase/firestore/utils/stubs/services/providerServiceStub.js +21 -0
  138. package/dist/firebase/firestore/utils/stubs/services/serviceProviderServiceStub.d.ts +5 -0
  139. package/dist/firebase/firestore/utils/stubs/services/serviceProviderServiceStub.js +21 -0
  140. package/dist/firebase/storage/enums/FirebaseStorageBasePaths.enum.js +1 -1
  141. package/dist/gcp/cloudTask/enums/CloudTasksQueueName.enum.d.ts +1 -1
  142. package/dist/gcp/cloudTask/enums/CloudTasksQueueName.enum.js +1 -1
  143. package/dist/gcp/cloudTask/maps/CloudTaskEnvelopeMap.map.d.ts +2 -2
  144. package/dist/gcp/cloudTask/types/OnTaskRecomputeServiceProviderAvailabilityEnvelope.type.d.ts +1 -1
  145. package/dist/gcp/cloudTask/types/index.d.ts +1 -1
  146. package/dist/gcp/cloudTask/types/index.js +1 -1
  147. package/dist/gcp/cloudTask/utils/stubs/index.d.ts +1 -1
  148. package/dist/gcp/cloudTask/utils/stubs/index.js +1 -1
  149. package/dist/gcp/cloudTask/utils/stubs/onTaskRecomputeServiceProviderAvailabilityEnvelopeStub.js +1 -1
  150. package/dist/pricing/__tests__/calculateInvoiceTotalWithTax.util.test.js +3 -3
  151. package/dist/stripe/types/StripeCustomServiceProviderPayoutMetadata.type.d.ts +5 -0
  152. package/dist/stripe/types/StripeCustomServiceProviderPayoutMetadata.type.js +2 -0
  153. package/dist/stripe/types/index.d.ts +1 -1
  154. package/dist/stripe/types/index.js +1 -1
  155. package/package.json +1 -1
@@ -21,9 +21,9 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
21
21
  };
22
22
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
23
23
  serviceProviderUserPublicDocument =
24
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
25
- professionalServices: {
26
- [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
24
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
25
+ services: {
26
+ [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
27
27
  isActive: true,
28
28
  pricingAndDurationByVehicleType: {
29
29
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -44,7 +44,7 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
44
44
  it("delegates service config filtering by vehicle type", () => {
45
45
  (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
46
46
  countryServicesPublicConfig: {},
47
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
47
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
48
48
  vehicleType: enums_1.VehicleTypes.SEDAN,
49
49
  });
50
50
  expect(getAvailableServicesPublicConfigForVehicleTypeMock).toHaveBeenCalledWith({
@@ -55,12 +55,12 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
55
55
  it("returns empty arrays when config helper returns no services", () => {
56
56
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
57
57
  countryServicesPublicConfig: {},
58
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
58
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
59
59
  vehicleType: enums_1.VehicleTypes.SEDAN,
60
60
  });
61
61
  expect(result).toEqual({
62
- mainAvailableProfessionalServices: [],
63
- subAvailableProfessionalServices: [],
62
+ availableMainServiceProviderServices: [],
63
+ availableSubServiceProviderServices: [],
64
64
  });
65
65
  });
66
66
  it("keeps matching active main and sub services", () => {
@@ -78,9 +78,9 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
78
78
  };
79
79
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
80
80
  serviceProviderUserPublicDocument =
81
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
82
- professionalServices: {
83
- [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
81
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
82
+ services: {
83
+ [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
84
84
  isActive: true,
85
85
  pricingAndDurationByVehicleType: {
86
86
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -88,7 +88,7 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
88
88
  }),
89
89
  },
90
90
  }),
91
- [enums_1.ServicesTypes.CARPET_SHAMPOO]: (0, stubs_1.professionalServiceStub)({
91
+ [enums_1.ServicesTypes.CARPET_SHAMPOO]: (0, stubs_1.providerServiceStub)({
92
92
  isActive: true,
93
93
  pricingAndDurationByVehicleType: {
94
94
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -100,14 +100,14 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
100
100
  });
101
101
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
102
102
  countryServicesPublicConfig: {},
103
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
103
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
104
104
  vehicleType: enums_1.VehicleTypes.SEDAN,
105
105
  });
106
- expect(result.availableMainProfessionalServices).toEqual([
107
- serviceProviderUserPublicDocument.professionalServices[enums_1.ServicesTypes.EXTERIOR_CLEANING],
106
+ expect(result.availableMainServiceProviderServices).toEqual([
107
+ serviceProviderUserPublicDocument.services[enums_1.ServicesTypes.EXTERIOR_CLEANING],
108
108
  ]);
109
- expect(result.availableSubProfessionalServices).toEqual([
110
- serviceProviderUserPublicDocument.professionalServices[enums_1.ServicesTypes.CARPET_SHAMPOO],
109
+ expect(result.availableSubServiceProviderServices).toEqual([
110
+ serviceProviderUserPublicDocument.services[enums_1.ServicesTypes.CARPET_SHAMPOO],
111
111
  ]);
112
112
  });
113
113
  it("filters out services not offered by the service provider", () => {
@@ -121,10 +121,10 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
121
121
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
122
122
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
123
123
  countryServicesPublicConfig: {},
124
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
124
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
125
125
  vehicleType: enums_1.VehicleTypes.SEDAN,
126
126
  });
127
- expect(result.availableMainProfessionalServices).toEqual([]);
127
+ expect(result.availableMainServiceProviderServices).toEqual([]);
128
128
  });
129
129
  it("filters out services disabled at service provider level", () => {
130
130
  const exteriorCleaning = (0, stubs_1.firestoreServicesPublicConfigStub)({
@@ -136,19 +136,19 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
136
136
  };
137
137
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
138
138
  serviceProviderUserPublicDocument =
139
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
140
- professionalServices: {
141
- [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
139
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
140
+ services: {
141
+ [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
142
142
  isActive: false,
143
143
  }),
144
144
  },
145
145
  });
146
146
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
147
147
  countryServicesPublicConfig: {},
148
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
148
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
149
149
  vehicleType: enums_1.VehicleTypes.SEDAN,
150
150
  });
151
- expect(result.availableMainProfessionalServices).toEqual([]);
151
+ expect(result.availableMainServiceProviderServices).toEqual([]);
152
152
  });
153
153
  it("filters out services with missing pricing for the requested vehicle type", () => {
154
154
  const exteriorCleaning = (0, stubs_1.firestoreServicesPublicConfigStub)({
@@ -160,9 +160,9 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
160
160
  };
161
161
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
162
162
  serviceProviderUserPublicDocument =
163
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
164
- professionalServices: {
165
- [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
163
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
164
+ services: {
165
+ [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
166
166
  isActive: true,
167
167
  pricingAndDurationByVehicleType: {
168
168
  [enums_1.VehicleTypes.SUV]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -175,10 +175,10 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
175
175
  });
176
176
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
177
177
  countryServicesPublicConfig: {},
178
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
178
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
179
179
  vehicleType: enums_1.VehicleTypes.SEDAN,
180
180
  });
181
- expect(result.availableMainProfessionalServices).toEqual([]);
181
+ expect(result.availableMainServiceProviderServices).toEqual([]);
182
182
  });
183
183
  it("filters out services with inactive pricing for the requested vehicle type", () => {
184
184
  const exteriorCleaning = (0, stubs_1.firestoreServicesPublicConfigStub)({
@@ -190,9 +190,9 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
190
190
  };
191
191
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
192
192
  serviceProviderUserPublicDocument =
193
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
194
- professionalServices: {
195
- [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
193
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
194
+ services: {
195
+ [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
196
196
  isActive: true,
197
197
  pricingAndDurationByVehicleType: {
198
198
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -205,10 +205,10 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
205
205
  });
206
206
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
207
207
  countryServicesPublicConfig: {},
208
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
208
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
209
209
  vehicleType: enums_1.VehicleTypes.SEDAN,
210
210
  });
211
- expect(result.availableMainProfessionalServices).toEqual([]);
211
+ expect(result.availableMainServiceProviderServices).toEqual([]);
212
212
  });
213
213
  it("preserves service order from vehicle-filtered configuration", () => {
214
214
  const firstService = (0, stubs_1.firestoreServicesPublicConfigStub)({
@@ -223,9 +223,9 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
223
223
  };
224
224
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
225
225
  serviceProviderUserPublicDocument =
226
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
227
- professionalServices: {
228
- [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
226
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
227
+ services: {
228
+ [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
229
229
  isActive: true,
230
230
  pricingAndDurationByVehicleType: {
231
231
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -233,7 +233,7 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
233
233
  }),
234
234
  },
235
235
  }),
236
- [enums_1.ServicesTypes.INTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
236
+ [enums_1.ServicesTypes.INTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
237
237
  isActive: true,
238
238
  pricingAndDurationByVehicleType: {
239
239
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -245,15 +245,15 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
245
245
  });
246
246
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
247
247
  countryServicesPublicConfig: {},
248
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
248
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
249
249
  vehicleType: enums_1.VehicleTypes.SEDAN,
250
250
  });
251
- expect(result.availableMainProfessionalServices).toEqual([
252
- serviceProviderUserPublicDocument.professionalServices[enums_1.ServicesTypes.EXTERIOR_CLEANING],
253
- serviceProviderUserPublicDocument.professionalServices[enums_1.ServicesTypes.INTERIOR_CLEANING],
251
+ expect(result.availableMainServiceProviderServices).toEqual([
252
+ serviceProviderUserPublicDocument.services[enums_1.ServicesTypes.EXTERIOR_CLEANING],
253
+ serviceProviderUserPublicDocument.services[enums_1.ServicesTypes.INTERIOR_CLEANING],
254
254
  ]);
255
255
  });
256
- it("does not include extra professional services not present in filtered config", () => {
256
+ it("does not include extra services not present in filtered config", () => {
257
257
  const exteriorCleaning = (0, stubs_1.firestoreServicesPublicConfigStub)({
258
258
  type: enums_1.ServicesTypes.EXTERIOR_CLEANING,
259
259
  });
@@ -263,9 +263,9 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
263
263
  };
264
264
  getAvailableServicesPublicConfigForVehicleTypeMock.mockReturnValue(getAvailableServicesPublicConfigForVehicleTypeReturn);
265
265
  serviceProviderUserPublicDocument =
266
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
267
- professionalServices: {
268
- [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
266
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
267
+ services: {
268
+ [enums_1.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
269
269
  isActive: true,
270
270
  pricingAndDurationByVehicleType: {
271
271
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -273,7 +273,7 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
273
273
  }),
274
274
  },
275
275
  }),
276
- [enums_1.ServicesTypes.CARPET_SHAMPOO]: (0, stubs_1.professionalServiceStub)({
276
+ [enums_1.ServicesTypes.CARPET_SHAMPOO]: (0, stubs_1.providerServiceStub)({
277
277
  isActive: true,
278
278
  pricingAndDurationByVehicleType: {
279
279
  [enums_1.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -285,11 +285,11 @@ describe("getBookableServiceProviderServicesForVehicleType", () => {
285
285
  });
286
286
  const result = (0, getBookableServiceProviderServicesForVehicleType_1.getBookableServiceProviderServicesForVehicleType)({
287
287
  countryServicesPublicConfig: {},
288
- professionalUserPublicDocument: serviceProviderUserPublicDocument,
288
+ serviceProviderUserPublicDocument: serviceProviderUserPublicDocument,
289
289
  vehicleType: enums_1.VehicleTypes.SEDAN,
290
290
  });
291
- expect(result.availableMainProfessionalServices).toEqual([
292
- serviceProviderUserPublicDocument.professionalServices[enums_1.ServicesTypes.EXTERIOR_CLEANING],
291
+ expect(result.availableMainServiceProviderServices).toEqual([
292
+ serviceProviderUserPublicDocument.services[enums_1.ServicesTypes.EXTERIOR_CLEANING],
293
293
  ]);
294
294
  });
295
295
  });
@@ -7,9 +7,9 @@ const getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow_1 = req
7
7
  const errorCases = [
8
8
  {
9
9
  name: "Should throw an error if the service is not offered by the service provider",
10
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
11
- professionalServices: {
12
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
10
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
11
+ services: {
12
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
13
13
  isActive: true,
14
14
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
15
15
  pricingAndDurationByVehicleType: {
@@ -30,9 +30,9 @@ const errorCases = [
30
30
  },
31
31
  {
32
32
  name: "Should throw an error if the service is not active",
33
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
34
- professionalServices: {
35
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
33
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
34
+ services: {
35
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
36
36
  isActive: false,
37
37
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
38
38
  pricingAndDurationByVehicleType: {
@@ -53,9 +53,9 @@ const errorCases = [
53
53
  },
54
54
  {
55
55
  name: "Should throw an error if the vehicle type is not active for the service",
56
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
57
- professionalServices: {
58
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
56
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
57
+ services: {
58
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
59
59
  isActive: true,
60
60
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
61
61
  pricingAndDurationByVehicleType: {
@@ -76,9 +76,9 @@ const errorCases = [
76
76
  },
77
77
  {
78
78
  name: "Should throw an error if the service does not have pricing and duration for the vehicle type",
79
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
80
- professionalServices: {
81
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
79
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
80
+ services: {
81
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
82
82
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
83
83
  isActive: true,
84
84
  pricingAndDurationByVehicleType: {},
@@ -91,9 +91,9 @@ const errorCases = [
91
91
  },
92
92
  {
93
93
  name: "Should throw an error if the service pricing and duration for the vehicle type is missing required pricePreTaxInCents fields",
94
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
95
- professionalServices: {
96
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
94
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
95
+ services: {
96
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
97
97
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
98
98
  pricingAndDurationByVehicleType: {
99
99
  [enums_2.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -113,9 +113,9 @@ const errorCases = [
113
113
  },
114
114
  {
115
115
  name: "Should throw an error if the service pricing and duration for the vehicle type is missing required durationInMinutes fields",
116
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
117
- professionalServices: {
118
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
116
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
117
+ services: {
118
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
119
119
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
120
120
  pricingAndDurationByVehicleType: {
121
121
  [enums_2.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -135,9 +135,9 @@ const errorCases = [
135
135
  },
136
136
  {
137
137
  name: "Should throw an error if the service pricing and duration for the vehicle type is missing required currency fields",
138
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
139
- professionalServices: {
140
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
138
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
139
+ services: {
140
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
141
141
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
142
142
  pricingAndDurationByVehicleType: {
143
143
  [enums_2.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -157,9 +157,9 @@ const errorCases = [
157
157
  },
158
158
  {
159
159
  name: "Should throw an error if the service pricing and duration for the vehicle type is missing required type fields",
160
- professionalUserPublicDocument: (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
161
- professionalServices: {
162
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
160
+ serviceProviderUserPublicDocument: (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
161
+ services: {
162
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
163
163
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
164
164
  pricingAndDurationByVehicleType: {
165
165
  [enums_2.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -179,12 +179,12 @@ const errorCases = [
179
179
  },
180
180
  ];
181
181
  describe("getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow", () => {
182
- let professionalUserPublicDocument;
182
+ let serviceProviderUserPublicDocument;
183
183
  beforeEach(() => {
184
- professionalUserPublicDocument =
185
- (0, stubs_1.firestoreProfessionalUserPublicDocumentStub)({
186
- professionalServices: {
187
- [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.professionalServiceStub)({
184
+ serviceProviderUserPublicDocument =
185
+ (0, stubs_1.firestoreServiceProviderUserPublicDocumentStub)({
186
+ services: {
187
+ [enums_2.ServicesTypes.EXTERIOR_CLEANING]: (0, stubs_1.providerServiceStub)({
188
188
  type: enums_2.ServicesTypes.EXTERIOR_CLEANING,
189
189
  pricingAndDurationByVehicleType: {
190
190
  [enums_2.VehicleTypes.SEDAN]: (0, stubs_1.pricingAndDurationForVehicleStub)({
@@ -201,7 +201,7 @@ describe("getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow", (
201
201
  });
202
202
  it("should return the correct pricing and duration for a valid service and vehicle type (Happy path)", () => {
203
203
  const result = (0, getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow_1.getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow)({
204
- professionalUserPublicDocument,
204
+ serviceProviderUserPublicDocument,
205
205
  serviceType: enums_2.ServicesTypes.EXTERIOR_CLEANING,
206
206
  vehicleType: enums_2.VehicleTypes.SEDAN,
207
207
  });
@@ -214,9 +214,9 @@ describe("getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow", (
214
214
  });
215
215
  });
216
216
  describe("error cases", () => {
217
- test.each(errorCases)("should throw error if $name", async ({ professionalUserPublicDocument, serviceType, vehicleType, error, }) => {
217
+ test.each(errorCases)("should throw error if $name", async ({ serviceProviderUserPublicDocument, serviceType, vehicleType, error, }) => {
218
218
  expect(() => (0, getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow_1.getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow)({
219
- professionalUserPublicDocument,
219
+ serviceProviderUserPublicDocument,
220
220
  serviceType,
221
221
  vehicleType,
222
222
  })).toThrow(error);
@@ -0,0 +1,2 @@
1
+ import type { ComputeTotalServiceProviderServiceDurationInMinutesForVehicleTypeArgs } from "./types";
2
+ export declare function computeTotalServiceProviderServiceDurationInMinutesForVehicleType({ servicesTypes, services, vehicleType, }: ComputeTotalServiceProviderServiceDurationInMinutesForVehicleTypeArgs): number;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeTotalServiceProviderServiceDurationInMinutesForVehicleType = computeTotalServiceProviderServiceDurationInMinutesForVehicleType;
4
+ function computeTotalServiceProviderServiceDurationInMinutesForVehicleType({ servicesTypes, services, vehicleType, }) {
5
+ let totalServiceDurationInMinutes = 0;
6
+ for (const serviceType of servicesTypes) {
7
+ if (!services?.[serviceType]?.pricingAndDurationByVehicleType?.[vehicleType]
8
+ ?.durationInMinutes) {
9
+ throw new Error(`computeTotalServiceProviderServiceDurationInMinutes: Service type ${serviceType} not found for vehicle type ${vehicleType}`);
10
+ }
11
+ else {
12
+ totalServiceDurationInMinutes +=
13
+ services[serviceType].pricingAndDurationByVehicleType[vehicleType]
14
+ .durationInMinutes;
15
+ }
16
+ }
17
+ return totalServiceDurationInMinutes;
18
+ }
@@ -1,5 +1,5 @@
1
1
  import type { GetBookableServiceProviderServicesForVehicleTypeParams } from "./types";
2
- export declare function getBookableServiceProviderServicesForVehicleType({ countryServicesPublicConfig, professionalUserPublicDocument, vehicleType, }: GetBookableServiceProviderServicesForVehicleTypeParams): {
3
- availableMainProfessionalServices: (import("../..").ProfessionalService<import("../..").ServicesTypes.INTERIOR_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.EXTERIOR_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.INTERIOR_AND_EXTERIOR_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.LEATHER_SEAT_SHAMPOO_AND_TREATMENT> | import("../..").ProfessionalService<import("../..").ServicesTypes.FABRIC_SEAT_SHAMPOO> | import("../..").ProfessionalService<import("../..").ServicesTypes.CARPET_SHAMPOO> | import("../..").ProfessionalService<import("../..").ServicesTypes.CEILING_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.ANIMAL_HAIR_TREATMENT>)[];
4
- availableSubProfessionalServices: (import("../..").ProfessionalService<import("../..").ServicesTypes.INTERIOR_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.EXTERIOR_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.INTERIOR_AND_EXTERIOR_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.LEATHER_SEAT_SHAMPOO_AND_TREATMENT> | import("../..").ProfessionalService<import("../..").ServicesTypes.FABRIC_SEAT_SHAMPOO> | import("../..").ProfessionalService<import("../..").ServicesTypes.CARPET_SHAMPOO> | import("../..").ProfessionalService<import("../..").ServicesTypes.CEILING_CLEANING> | import("../..").ProfessionalService<import("../..").ServicesTypes.ANIMAL_HAIR_TREATMENT>)[];
2
+ export declare function getBookableServiceProviderServicesForVehicleType({ countryServicesPublicConfig, serviceProviderUserPublicDocument, vehicleType, }: GetBookableServiceProviderServicesForVehicleTypeParams): {
3
+ availableMainServiceProviderServices: (import("../..").ProviderService<import("../..").ServicesTypes.INTERIOR_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.EXTERIOR_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.INTERIOR_AND_EXTERIOR_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.LEATHER_SEAT_SHAMPOO_AND_TREATMENT> | import("../..").ProviderService<import("../..").ServicesTypes.FABRIC_SEAT_SHAMPOO> | import("../..").ProviderService<import("../..").ServicesTypes.CARPET_SHAMPOO> | import("../..").ProviderService<import("../..").ServicesTypes.CEILING_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.ANIMAL_HAIR_TREATMENT>)[];
4
+ availableSubServiceProviderServices: (import("../..").ProviderService<import("../..").ServicesTypes.INTERIOR_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.EXTERIOR_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.INTERIOR_AND_EXTERIOR_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.LEATHER_SEAT_SHAMPOO_AND_TREATMENT> | import("../..").ProviderService<import("../..").ServicesTypes.FABRIC_SEAT_SHAMPOO> | import("../..").ProviderService<import("../..").ServicesTypes.CARPET_SHAMPOO> | import("../..").ProviderService<import("../..").ServicesTypes.CEILING_CLEANING> | import("../..").ProviderService<import("../..").ServicesTypes.ANIMAL_HAIR_TREATMENT>)[];
5
5
  };
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getBookableServiceProviderServicesForVehicleType = getBookableServiceProviderServicesForVehicleType;
4
4
  const configs_1 = require("../configs");
5
- function getBookableServiceProviderServicesForVehicleType({ countryServicesPublicConfig, professionalUserPublicDocument, vehicleType, }) {
5
+ function getBookableServiceProviderServicesForVehicleType({ countryServicesPublicConfig, serviceProviderUserPublicDocument, vehicleType, }) {
6
6
  const { availableMainServicesPublicConfigList, availableSubServicesPublicConfigList, } = (0, configs_1.getAvailableServicesPublicConfigForVehicleType)({
7
7
  countryServicesPublicConfig,
8
8
  vehicleType,
@@ -10,23 +10,23 @@ function getBookableServiceProviderServicesForVehicleType({ countryServicesPubli
10
10
  const configMainAvailableServicesTypes = availableMainServicesPublicConfigList.map((servicePublicConfig) => servicePublicConfig.type);
11
11
  const configSubAvailableServicesTypes = availableSubServicesPublicConfigList.map((servicePublicConfig) => servicePublicConfig.type);
12
12
  return {
13
- availableMainProfessionalServices: configMainAvailableServicesTypes.flatMap((serviceType) => {
14
- const professionalService = professionalUserPublicDocument.professionalServices[serviceType];
15
- if (!professionalService || !professionalService.isActive)
13
+ availableMainServiceProviderServices: configMainAvailableServicesTypes.flatMap((serviceType) => {
14
+ const providerService = serviceProviderUserPublicDocument.services[serviceType];
15
+ if (!providerService || !providerService.isActive)
16
16
  return [];
17
- const pricingAndDurationForVehicle = professionalService.pricingAndDurationByVehicleType[vehicleType];
17
+ const pricingAndDurationForVehicle = providerService.pricingAndDurationByVehicleType[vehicleType];
18
18
  if (!pricingAndDurationForVehicle?.isActive)
19
19
  return [];
20
- return [professionalService];
20
+ return [providerService];
21
21
  }),
22
- availableSubProfessionalServices: configSubAvailableServicesTypes.flatMap((serviceType) => {
23
- const professionalService = professionalUserPublicDocument.professionalServices[serviceType];
24
- if (!professionalService || !professionalService.isActive)
22
+ availableSubServiceProviderServices: configSubAvailableServicesTypes.flatMap((serviceType) => {
23
+ const providerService = serviceProviderUserPublicDocument.services[serviceType];
24
+ if (!providerService || !providerService.isActive)
25
25
  return [];
26
- const pricingAndDurationForVehicle = professionalService.pricingAndDurationByVehicleType[vehicleType];
26
+ const pricingAndDurationForVehicle = providerService.pricingAndDurationByVehicleType[vehicleType];
27
27
  if (!pricingAndDurationForVehicle?.isActive)
28
28
  return [];
29
- return [professionalService];
29
+ return [providerService];
30
30
  }),
31
31
  };
32
32
  }
@@ -1,3 +1,3 @@
1
1
  import type { ServicePricingAndDurationForVehicle } from "../../types";
2
2
  import type { GetServiceProviderActiveServicePricingAndDurationForVehicleOrThrowParams } from "./types";
3
- export declare function getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow({ professionalUserPublicDocument, serviceType, vehicleType, }: GetServiceProviderActiveServicePricingAndDurationForVehicleOrThrowParams): ServicePricingAndDurationForVehicle;
3
+ export declare function getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow({ serviceProviderUserPublicDocument, serviceType, vehicleType, }: GetServiceProviderActiveServicePricingAndDurationForVehicleOrThrowParams): ServicePricingAndDurationForVehicle;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow = getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow;
4
- function getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow({ professionalUserPublicDocument, serviceType, vehicleType, }) {
5
- const service = professionalUserPublicDocument.professionalServices?.[serviceType];
4
+ function getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow({ serviceProviderUserPublicDocument, serviceType, vehicleType, }) {
5
+ const service = serviceProviderUserPublicDocument.services?.[serviceType];
6
6
  if (!service || !service.isActive) {
7
7
  throw new Error(`Service “${serviceType}” is not offered by this service provider.`);
8
8
  }
@@ -1,5 +1,5 @@
1
1
  export * from "./createServiceVehicleComboKey";
2
2
  export * from "./getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow";
3
3
  export * from "./types";
4
- export * from "./computeTotalProfessionalServiceDurationInMinutesForVehicleType";
4
+ export * from "./computeTotalServiceProviderServiceDurationInMinutesForVehicleType";
5
5
  export * from "./getBookableServiceProviderServicesForVehicleType";
@@ -17,5 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./createServiceVehicleComboKey"), exports);
18
18
  __exportStar(require("./getServiceProviderActiveServicePricingAndDurationForVehicleOrThrow"), exports);
19
19
  __exportStar(require("./types"), exports);
20
- __exportStar(require("./computeTotalProfessionalServiceDurationInMinutesForVehicleType"), exports);
20
+ __exportStar(require("./computeTotalServiceProviderServiceDurationInMinutesForVehicleType"), exports);
21
21
  __exportStar(require("./getBookableServiceProviderServicesForVehicleType"), exports);
@@ -0,0 +1,7 @@
1
+ import type { ServicesTypes, VehicleTypes } from "../../../enums";
2
+ import type { FirestoreServiceProviderUserPublicDocument } from "../../../types";
3
+ export type ComputeTotalServiceProviderServiceDurationInMinutesForVehicleTypeArgs = {
4
+ services: FirestoreServiceProviderUserPublicDocument["services"];
5
+ servicesTypes: ServicesTypes[];
6
+ vehicleType: VehicleTypes;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,7 @@
1
1
  import type { VehicleTypes } from "../../../enums";
2
- import type { CountryServicesPublicConfig, FirestoreProfessionalUserPublicDocument } from "../../../types";
2
+ import type { CountryServicesPublicConfig, FirestoreServiceProviderUserPublicDocument } from "../../../types";
3
3
  export type GetBookableServiceProviderServicesForVehicleTypeParams = {
4
4
  countryServicesPublicConfig: CountryServicesPublicConfig;
5
- professionalUserPublicDocument: FirestoreProfessionalUserPublicDocument;
5
+ serviceProviderUserPublicDocument: FirestoreServiceProviderUserPublicDocument;
6
6
  vehicleType: VehicleTypes;
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import type { ServicesTypes, VehicleTypes } from "../../../enums";
2
- import type { FirestoreProfessionalUserPublicDocument } from "../../../types";
2
+ import type { FirestoreServiceProviderUserPublicDocument } from "../../../types";
3
3
  export type GetServiceProviderActiveServicePricingAndDurationForVehicleOrThrowParams = {
4
- professionalUserPublicDocument: FirestoreProfessionalUserPublicDocument;
4
+ serviceProviderUserPublicDocument: FirestoreServiceProviderUserPublicDocument;
5
5
  serviceType: ServicesTypes;
6
6
  vehicleType: VehicleTypes;
7
7
  };
@@ -1,3 +1,3 @@
1
1
  export * from "./GetServiceProviderActiveServicePricingAndDurationForVehicleOrThrowParams.type";
2
- export * from "./ComputeTotalProfessionalServiceDurationInMinutesForVehicleTypeArgs.type";
2
+ export * from "./ComputeTotalServiceProviderServiceDurationInMinutesForVehicleTypeArgs.type";
3
3
  export * from "./GetBookableServiceProviderServicesForVehicleTypeParams.type";
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./GetServiceProviderActiveServicePricingAndDurationForVehicleOrThrowParams.type"), exports);
18
- __exportStar(require("./ComputeTotalProfessionalServiceDurationInMinutesForVehicleTypeArgs.type"), exports);
18
+ __exportStar(require("./ComputeTotalServiceProviderServiceDurationInMinutesForVehicleTypeArgs.type"), exports);
19
19
  __exportStar(require("./GetBookableServiceProviderServicesForVehicleTypeParams.type"), exports);
@@ -1,7 +1,7 @@
1
1
  export * from "./createMessagesSnapshotStub";
2
2
  export * from "./firestoreMessageDocumentStub";
3
3
  export * from "./userDocument";
4
- export * from "./userPublicDocument";
4
+ export * from "./serviceProviderUserPublicDocument";
5
5
  export * from "./firestoreRateLimitDocumentStub";
6
6
  export * from "./services";
7
7
  export * from "./vehicles";
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./createMessagesSnapshotStub"), exports);
18
18
  __exportStar(require("./firestoreMessageDocumentStub"), exports);
19
19
  __exportStar(require("./userDocument"), exports);
20
- __exportStar(require("./userPublicDocument"), exports);
20
+ __exportStar(require("./serviceProviderUserPublicDocument"), exports);
21
21
  __exportStar(require("./firestoreRateLimitDocumentStub"), exports);
22
22
  __exportStar(require("./services"), exports);
23
23
  __exportStar(require("./vehicles"), exports);
@@ -9,7 +9,7 @@ function firestoreOrderReviewDocumentStub(overwrite = {}) {
9
9
  updatedAt: (0, firestoreTimestampStub_1.firestoreTimestampStub)(),
10
10
  orderId: "orderId_stub",
11
11
  customerId: "customerId_stub",
12
- professionalId: "professionalId_stub",
12
+ serviceProviderId: "serviceProviderId_stub",
13
13
  status: enums_1.OrderReviewStatusType.PENDING,
14
14
  isTest: true,
15
15
  ...overwrite,
@@ -0,0 +1,2 @@
1
+ import type { FirestoreServiceProviderUserPublicDocument } from "../../../types";
2
+ export declare function firestoreServiceProviderUserPublicDocumentStub(overwrite?: Partial<FirestoreServiceProviderUserPublicDocument>): FirestoreServiceProviderUserPublicDocument;