wiil-core-js 0.0.82

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 (261) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/core/account/index.d.ts +7 -0
  4. package/dist/core/account/index.js +23 -0
  5. package/dist/core/account/organization.schema.d.ts +118 -0
  6. package/dist/core/account/organization.schema.js +91 -0
  7. package/dist/core/account/project.schema.d.ts +121 -0
  8. package/dist/core/account/project.schema.js +102 -0
  9. package/dist/core/account/supported-business-verticals.d.ts +8 -0
  10. package/dist/core/account/supported-business-verticals.js +23 -0
  11. package/dist/core/assistant-setups/assistant-setup-result.schema.d.ts +115 -0
  12. package/dist/core/assistant-setups/assistant-setup-result.schema.js +17 -0
  13. package/dist/core/assistant-setups/base-assistant-setup.schema.d.ts +61 -0
  14. package/dist/core/assistant-setups/base-assistant-setup.schema.js +29 -0
  15. package/dist/core/assistant-setups/index.d.ts +4 -0
  16. package/dist/core/assistant-setups/index.js +21 -0
  17. package/dist/core/assistant-setups/phone-assistant-setup.schema.d.ts +63 -0
  18. package/dist/core/assistant-setups/phone-assistant-setup.schema.js +14 -0
  19. package/dist/core/assistant-setups/web-assitant-setup.schema.d.ts +56 -0
  20. package/dist/core/assistant-setups/web-assitant-setup.schema.js +17 -0
  21. package/dist/core/base.schema.d.ts +34 -0
  22. package/dist/core/base.schema.js +36 -0
  23. package/dist/core/business-mgt/appointment-additional-info.schema.d.ts +63 -0
  24. package/dist/core/business-mgt/appointment-additional-info.schema.js +53 -0
  25. package/dist/core/business-mgt/appointment-field-config.schema.d.ts +251 -0
  26. package/dist/core/business-mgt/appointment-field-config.schema.js +49 -0
  27. package/dist/core/business-mgt/bookings.shared.schema.d.ts +47 -0
  28. package/dist/core/business-mgt/bookings.shared.schema.js +60 -0
  29. package/dist/core/business-mgt/business-location.schema.d.ts +327 -0
  30. package/dist/core/business-mgt/business-location.schema.js +176 -0
  31. package/dist/core/business-mgt/customer-management/customer-group.schema.d.ts +87 -0
  32. package/dist/core/business-mgt/customer-management/customer-group.schema.js +53 -0
  33. package/dist/core/business-mgt/customer-management/customer.schema.d.ts +156 -0
  34. package/dist/core/business-mgt/customer-management/customer.schema.js +93 -0
  35. package/dist/core/business-mgt/customer-management/index.d.ts +7 -0
  36. package/dist/core/business-mgt/customer-management/index.js +23 -0
  37. package/dist/core/business-mgt/customer-management/shipping-address.schema.d.ts +112 -0
  38. package/dist/core/business-mgt/customer-management/shipping-address.schema.js +79 -0
  39. package/dist/core/business-mgt/customer.schema.d.ts +111 -0
  40. package/dist/core/business-mgt/customer.schema.js +73 -0
  41. package/dist/core/business-mgt/discount-rule.schema.d.ts +183 -0
  42. package/dist/core/business-mgt/discount-rule.schema.js +108 -0
  43. package/dist/core/business-mgt/index.d.ts +16 -0
  44. package/dist/core/business-mgt/index.js +38 -0
  45. package/dist/core/business-mgt/menu-config.schema.d.ts +165 -0
  46. package/dist/core/business-mgt/menu-config.schema.js +86 -0
  47. package/dist/core/business-mgt/menu-management/index.d.ts +11 -0
  48. package/dist/core/business-mgt/menu-management/index.js +27 -0
  49. package/dist/core/business-mgt/menu-management/menu-catalog.schema.d.ts +386 -0
  50. package/dist/core/business-mgt/menu-management/menu-catalog.schema.js +58 -0
  51. package/dist/core/business-mgt/menu-management/menu-config.schema.d.ts +301 -0
  52. package/dist/core/business-mgt/menu-management/menu-config.schema.js +169 -0
  53. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.d.ts +143 -0
  54. package/dist/core/business-mgt/menu-management/menu-item-variant.schema.js +86 -0
  55. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.d.ts +239 -0
  56. package/dist/core/business-mgt/menu-management/menu-pricing-rule.schema.js +117 -0
  57. package/dist/core/business-mgt/menu-management/menu-set.schema.d.ts +420 -0
  58. package/dist/core/business-mgt/menu-management/menu-set.schema.js +283 -0
  59. package/dist/core/business-mgt/menu-management/menu.order.schema.d.ts +654 -0
  60. package/dist/core/business-mgt/menu-management/menu.order.schema.js +204 -0
  61. package/dist/core/business-mgt/menu-management/modifier.schema.d.ts +585 -0
  62. package/dist/core/business-mgt/menu-management/modifier.schema.js +341 -0
  63. package/dist/core/business-mgt/menu.order.schema.d.ts +335 -0
  64. package/dist/core/business-mgt/menu.order.schema.js +149 -0
  65. package/dist/core/business-mgt/order.schema.d.ts +222 -0
  66. package/dist/core/business-mgt/order.schema.js +205 -0
  67. package/dist/core/business-mgt/pricing-rule.shared.schema.d.ts +56 -0
  68. package/dist/core/business-mgt/pricing-rule.shared.schema.js +68 -0
  69. package/dist/core/business-mgt/product-config.schema.d.ts +177 -0
  70. package/dist/core/business-mgt/product-config.schema.js +106 -0
  71. package/dist/core/business-mgt/product-management/index.d.ts +12 -0
  72. package/dist/core/business-mgt/product-management/index.js +28 -0
  73. package/dist/core/business-mgt/product-management/product-axis-binding.schema.d.ts +54 -0
  74. package/dist/core/business-mgt/product-management/product-axis-binding.schema.js +54 -0
  75. package/dist/core/business-mgt/product-management/product-config.schema.d.ts +1042 -0
  76. package/dist/core/business-mgt/product-management/product-config.schema.js +392 -0
  77. package/dist/core/business-mgt/product-management/product-display.schema.d.ts +548 -0
  78. package/dist/core/business-mgt/product-management/product-display.schema.js +80 -0
  79. package/dist/core/business-mgt/product-management/product-order.schema.d.ts +493 -0
  80. package/dist/core/business-mgt/product-management/product-order.schema.js +158 -0
  81. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.d.ts +167 -0
  82. package/dist/core/business-mgt/product-management/product-pricing-rule.schema.js +68 -0
  83. package/dist/core/business-mgt/product-management/product-set.schema.d.ts +488 -0
  84. package/dist/core/business-mgt/product-management/product-set.schema.js +273 -0
  85. package/dist/core/business-mgt/product-management/product-variant-axis.schema.d.ts +156 -0
  86. package/dist/core/business-mgt/product-management/product-variant-axis.schema.js +98 -0
  87. package/dist/core/business-mgt/product-management/product-variant.schema.d.ts +219 -0
  88. package/dist/core/business-mgt/product-management/product-variant.schema.js +130 -0
  89. package/dist/core/business-mgt/product-order.schema.d.ts +326 -0
  90. package/dist/core/business-mgt/product-order.schema.js +153 -0
  91. package/dist/core/business-mgt/property-config.schema.d.ts +621 -0
  92. package/dist/core/business-mgt/property-config.schema.js +224 -0
  93. package/dist/core/business-mgt/property-inquiry.schema.d.ts +222 -0
  94. package/dist/core/business-mgt/property-inquiry.schema.js +112 -0
  95. package/dist/core/business-mgt/property-management/index.d.ts +6 -0
  96. package/dist/core/business-mgt/property-management/index.js +22 -0
  97. package/dist/core/business-mgt/property-management/property-config.schema.d.ts +1306 -0
  98. package/dist/core/business-mgt/property-management/property-config.schema.js +367 -0
  99. package/dist/core/business-mgt/property-management/property-inquiry.schema.d.ts +254 -0
  100. package/dist/core/business-mgt/property-management/property-inquiry.schema.js +131 -0
  101. package/dist/core/business-mgt/reservation-mgt/assignment/index.d.ts +3 -0
  102. package/dist/core/business-mgt/reservation-mgt/assignment/index.js +19 -0
  103. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.d.ts +139 -0
  104. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-rental-assignment.schema.js +90 -0
  105. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.d.ts +104 -0
  106. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-room-assignment.schema.js +70 -0
  107. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.d.ts +104 -0
  108. package/dist/core/business-mgt/reservation-mgt/assignment/reservation-table-assignment.schema.js +72 -0
  109. package/dist/core/business-mgt/reservation-mgt/index.d.ts +14 -0
  110. package/dist/core/business-mgt/reservation-mgt/index.js +31 -0
  111. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.d.ts +180 -0
  112. package/dist/core/business-mgt/reservation-mgt/reservation-floor-plan-definition.schema.js +75 -0
  113. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.d.ts +91 -0
  114. package/dist/core/business-mgt/reservation-mgt/reservation-maintenance-block.schema.js +57 -0
  115. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.d.ts +334 -0
  116. package/dist/core/business-mgt/reservation-mgt/reservation-rental.schema.js +179 -0
  117. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.d.ts +195 -0
  118. package/dist/core/business-mgt/reservation-mgt/reservation-room.schema.js +106 -0
  119. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.d.ts +402 -0
  120. package/dist/core/business-mgt/reservation-mgt/reservation-section.schema.js +198 -0
  121. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.d.ts +229 -0
  122. package/dist/core/business-mgt/reservation-mgt/reservation-settings.schema.js +127 -0
  123. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.d.ts +382 -0
  124. package/dist/core/business-mgt/reservation-mgt/reservation-slot-query.schema.js +322 -0
  125. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.d.ts +123 -0
  126. package/dist/core/business-mgt/reservation-mgt/reservation-table-layout.schema.js +83 -0
  127. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.d.ts +167 -0
  128. package/dist/core/business-mgt/reservation-mgt/reservation-table.schema.js +84 -0
  129. package/dist/core/business-mgt/reservation-mgt/reservation.schema.d.ts +0 -0
  130. package/dist/core/business-mgt/reservation-mgt/reservation.schema.js +153 -0
  131. package/dist/core/business-mgt/reservation-mgt/resource/index.d.ts +4 -0
  132. package/dist/core/business-mgt/reservation-mgt/resource/index.js +20 -0
  133. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.d.ts +157 -0
  134. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-category.schema.js +76 -0
  135. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.d.ts +137 -0
  136. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource-instance.schema.js +94 -0
  137. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.d.ts +713 -0
  138. package/dist/core/business-mgt/reservation-mgt/resource/reservation-resource.schema.js +363 -0
  139. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.d.ts +151 -0
  140. package/dist/core/business-mgt/reservation-mgt/resource/resource-versioning.schema.js +147 -0
  141. package/dist/core/business-mgt/reservation-resource.schema.d.ts +154 -0
  142. package/dist/core/business-mgt/reservation-resource.schema.js +100 -0
  143. package/dist/core/business-mgt/reservation.schema.d.ts +119 -0
  144. package/dist/core/business-mgt/reservation.schema.js +89 -0
  145. package/dist/core/business-mgt/service-appointment.schema.d.ts +105 -0
  146. package/dist/core/business-mgt/service-appointment.schema.js +69 -0
  147. package/dist/core/business-mgt/service-config.schema.d.ts +453 -0
  148. package/dist/core/business-mgt/service-config.schema.js +102 -0
  149. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.d.ts +110 -0
  150. package/dist/core/business-mgt/service-management/appointment-additional-info.schema.js +78 -0
  151. package/dist/core/business-mgt/service-management/appointment-field-config.schema.d.ts +304 -0
  152. package/dist/core/business-mgt/service-management/appointment-field-config.schema.js +75 -0
  153. package/dist/core/business-mgt/service-management/business-service-config.schema.d.ts +1226 -0
  154. package/dist/core/business-mgt/service-management/business-service-config.schema.js +317 -0
  155. package/dist/core/business-mgt/service-management/index.d.ts +13 -0
  156. package/dist/core/business-mgt/service-management/index.js +29 -0
  157. package/dist/core/business-mgt/service-management/service-appointment.schema.d.ts +531 -0
  158. package/dist/core/business-mgt/service-management/service-appointment.schema.js +116 -0
  159. package/dist/core/business-mgt/service-management/service-person.schema.d.ts +122 -0
  160. package/dist/core/business-mgt/service-management/service-person.schema.js +66 -0
  161. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.d.ts +221 -0
  162. package/dist/core/business-mgt/service-management/service-pricing-rule.schema.js +118 -0
  163. package/dist/core/business-mgt/service-management/service-provider.schema.d.ts +90 -0
  164. package/dist/core/business-mgt/service-management/service-provider.schema.js +54 -0
  165. package/dist/core/business-mgt/service-management/service-slot-query.schema.d.ts +90 -0
  166. package/dist/core/business-mgt/service-management/service-slot-query.schema.js +113 -0
  167. package/dist/core/business-mgt/service-management/service-time-off.schema.d.ts +121 -0
  168. package/dist/core/business-mgt/service-management/service-time-off.schema.js +95 -0
  169. package/dist/core/business-mgt/service-person.schema.d.ts +43 -0
  170. package/dist/core/business-mgt/service-person.schema.js +38 -0
  171. package/dist/core/business-mgt/tax-rule.schema.d.ts +161 -0
  172. package/dist/core/business-mgt/tax-rule.schema.js +90 -0
  173. package/dist/core/conversation/conversation-config.schema.d.ts +644 -0
  174. package/dist/core/conversation/conversation-config.schema.js +351 -0
  175. package/dist/core/conversation/conversation-message.schema.d.ts +307 -0
  176. package/dist/core/conversation/conversation-message.schema.js +275 -0
  177. package/dist/core/conversation/index.d.ts +12 -0
  178. package/dist/core/conversation/index.js +28 -0
  179. package/dist/core/conversation/outbound-call.schema.d.ts +209 -0
  180. package/dist/core/conversation/outbound-call.schema.js +116 -0
  181. package/dist/core/conversation/outbound-email.schema.d.ts +338 -0
  182. package/dist/core/conversation/outbound-email.schema.js +150 -0
  183. package/dist/core/conversation/outbound-sms.schema.d.ts +163 -0
  184. package/dist/core/conversation/outbound-sms.schema.js +85 -0
  185. package/dist/core/conversation/outbound-template.schema.d.ts +375 -0
  186. package/dist/core/conversation/outbound-template.schema.js +160 -0
  187. package/dist/core/conversation/translation-config.schema.d.ts +92 -0
  188. package/dist/core/conversation/translation-config.schema.js +88 -0
  189. package/dist/core/conversation/translation-conversation.schema.d.ts +469 -0
  190. package/dist/core/conversation/translation-conversation.schema.js +175 -0
  191. package/dist/core/index.d.ts +12 -0
  192. package/dist/core/index.js +30 -0
  193. package/dist/core/service-configuration/agent-config.schema.d.ts +236 -0
  194. package/dist/core/service-configuration/agent-config.schema.js +152 -0
  195. package/dist/core/service-configuration/base-agent-setup.d.ts +147 -0
  196. package/dist/core/service-configuration/base-agent-setup.js +123 -0
  197. package/dist/core/service-configuration/call-transfer-config.schema.d.ts +60 -0
  198. package/dist/core/service-configuration/call-transfer-config.schema.js +53 -0
  199. package/dist/core/service-configuration/deployment-config.schema.d.ts +522 -0
  200. package/dist/core/service-configuration/deployment-config.schema.js +271 -0
  201. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.d.ts +130 -0
  202. package/dist/core/service-configuration/dynamic_setup/base-agent-setup.js +110 -0
  203. package/dist/core/service-configuration/dynamic_setup/index.d.ts +10 -0
  204. package/dist/core/service-configuration/dynamic_setup/index.js +26 -0
  205. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.d.ts +111 -0
  206. package/dist/core/service-configuration/dynamic_setup/phone-agent-setup.js +56 -0
  207. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.d.ts +113 -0
  208. package/dist/core/service-configuration/dynamic_setup/web-agent-setup.js +55 -0
  209. package/dist/core/service-configuration/index.d.ts +17 -0
  210. package/dist/core/service-configuration/index.js +33 -0
  211. package/dist/core/service-configuration/instruction-config.schema.d.ts +183 -0
  212. package/dist/core/service-configuration/instruction-config.schema.js +139 -0
  213. package/dist/core/service-configuration/interaction-channels.schema.d.ts +469 -0
  214. package/dist/core/service-configuration/interaction-channels.schema.js +390 -0
  215. package/dist/core/service-configuration/knowledge.schema.d.ts +107 -0
  216. package/dist/core/service-configuration/knowledge.schema.js +106 -0
  217. package/dist/core/service-configuration/phone-config.schema.d.ts +206 -0
  218. package/dist/core/service-configuration/phone-config.schema.js +121 -0
  219. package/dist/core/service-configuration/phone-number.schema.d.ts +236 -0
  220. package/dist/core/service-configuration/phone-number.schema.js +211 -0
  221. package/dist/core/service-configuration/provisioning-config.d.ts +429 -0
  222. package/dist/core/service-configuration/provisioning-config.js +307 -0
  223. package/dist/core/service-configuration/support-llm.d.ts +95 -0
  224. package/dist/core/service-configuration/support-llm.js +76 -0
  225. package/dist/core/service-configuration/voice-language.schema.d.ts +200 -0
  226. package/dist/core/service-configuration/voice-language.schema.js +166 -0
  227. package/dist/core/type-definitions/account-definitions.d.ts +82 -0
  228. package/dist/core/type-definitions/account-definitions.js +88 -0
  229. package/dist/core/type-definitions/business-definitions.d.ts +394 -0
  230. package/dist/core/type-definitions/business-definitions.js +447 -0
  231. package/dist/core/type-definitions/conversation.type.definition.d.ts +223 -0
  232. package/dist/core/type-definitions/conversation.type.definition.js +236 -0
  233. package/dist/core/type-definitions/display-order.d.ts +154 -0
  234. package/dist/core/type-definitions/display-order.js +154 -0
  235. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.d.ts +165 -0
  236. package/dist/core/type-definitions/dynamic-fields/field-definition.schema.js +97 -0
  237. package/dist/core/type-definitions/dynamic-fields/field-types.d.ts +49 -0
  238. package/dist/core/type-definitions/dynamic-fields/field-types.js +104 -0
  239. package/dist/core/type-definitions/dynamic-fields/index.d.ts +9 -0
  240. package/dist/core/type-definitions/dynamic-fields/index.js +25 -0
  241. package/dist/core/type-definitions/index.d.ts +10 -0
  242. package/dist/core/type-definitions/index.js +26 -0
  243. package/dist/core/type-definitions/knowledge-definitions.d.ts +30 -0
  244. package/dist/core/type-definitions/knowledge-definitions.js +37 -0
  245. package/dist/core/type-definitions/service-config.definitions.d.ts +112 -0
  246. package/dist/core/type-definitions/service-config.definitions.js +135 -0
  247. package/dist/core/validators/channel-validation.d.ts +19 -0
  248. package/dist/core/validators/channel-validation.js +40 -0
  249. package/dist/core/validators/index.d.ts +5 -0
  250. package/dist/core/validators/index.js +21 -0
  251. package/dist/index.d.ts +6 -0
  252. package/dist/index.js +24 -0
  253. package/dist/request/index.d.ts +5 -0
  254. package/dist/request/index.js +21 -0
  255. package/dist/request/models/index.d.ts +6 -0
  256. package/dist/request/models/index.js +22 -0
  257. package/dist/request/models/paginated-quest.schema.d.ts +33 -0
  258. package/dist/request/models/paginated-quest.schema.js +35 -0
  259. package/dist/request/models/paginated-result.schema.d.ts +124 -0
  260. package/dist/request/models/paginated-result.schema.js +94 -0
  261. package/package.json +43 -0
@@ -0,0 +1,167 @@
1
+ import { z } from "zod";
2
+ import { PricingChannel } from "../pricing-rule.shared.schema";
3
+ /**
4
+ * @fileoverview Product pricing rule schema definitions for promotions and discounts.
5
+ * @module business-mgt/product-pricing-rule
6
+ */
7
+ /**
8
+ * Product pricing rule condition schema.
9
+ * Extends common pricing conditions with product set targeting.
10
+ */
11
+ export declare const ProductPricingRuleConditionSchema: z.ZodObject<{
12
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
13
+ startMinute: z.ZodOptional<z.ZodNumber>;
14
+ endMinute: z.ZodOptional<z.ZodNumber>;
15
+ customerSegmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
17
+ productSetId: z.ZodString;
18
+ }, z.core.$strip>;
19
+ /**
20
+ * Product pricing rule schema.
21
+ * Defines promotional pricing logic applied to product orders.
22
+ */
23
+ export declare const ProductPricingRuleSchema: z.ZodObject<{
24
+ id: z.ZodString;
25
+ createdAt: z.ZodOptional<z.ZodNumber>;
26
+ updatedAt: z.ZodOptional<z.ZodNumber>;
27
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ name: z.ZodString;
29
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
30
+ channelId: z.ZodString;
31
+ externalPricingRuleId: z.ZodString;
32
+ }, z.core.$strip>>>>;
33
+ discountId: z.ZodString;
34
+ productSetRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ condition: z.ZodObject<{
36
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
37
+ startMinute: z.ZodOptional<z.ZodNumber>;
38
+ endMinute: z.ZodOptional<z.ZodNumber>;
39
+ customerSegmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
41
+ productSetId: z.ZodString;
42
+ }, z.core.$strip>;
43
+ effectiveFrom: z.ZodOptional<z.ZodNumber>;
44
+ effectiveTo: z.ZodOptional<z.ZodNumber>;
45
+ isActive: z.ZodDefault<z.ZodBoolean>;
46
+ }, z.core.$strip>;
47
+ /**
48
+ * Schema for creating a new product pricing rule.
49
+ * Omits auto-generated fields.
50
+ */
51
+ export declare const CreateProductPricingRuleSchema: z.ZodObject<{
52
+ name: z.ZodString;
53
+ isActive: z.ZodDefault<z.ZodBoolean>;
54
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ effectiveFrom: z.ZodOptional<z.ZodNumber>;
56
+ effectiveTo: z.ZodOptional<z.ZodNumber>;
57
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
58
+ channelId: z.ZodString;
59
+ externalPricingRuleId: z.ZodString;
60
+ }, z.core.$strip>>>>;
61
+ discountId: z.ZodString;
62
+ condition: z.ZodObject<{
63
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
64
+ startMinute: z.ZodOptional<z.ZodNumber>;
65
+ endMinute: z.ZodOptional<z.ZodNumber>;
66
+ customerSegmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
67
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
68
+ productSetId: z.ZodString;
69
+ }, z.core.$strip>;
70
+ productSetRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ placement: z.ZodOptional<z.ZodObject<{
72
+ placementIntent: z.ZodObject<{
73
+ mode: z.ZodEnum<{
74
+ BEGINNING: "BEGINNING";
75
+ END: "END";
76
+ KEEP_CURRENT: "KEEP_CURRENT";
77
+ BEFORE_ITEM: "BEFORE_ITEM";
78
+ AFTER_ITEM: "AFTER_ITEM";
79
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
80
+ }>;
81
+ }, z.core.$strip>;
82
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
84
+ }, z.core.$strip>>;
85
+ }, z.core.$strip>;
86
+ /**
87
+ * Schema for updating an existing product pricing rule.
88
+ * All fields optional except id (required).
89
+ */
90
+ export declare const UpdateProductPricingRuleSchema: z.ZodObject<{
91
+ name: z.ZodOptional<z.ZodString>;
92
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
93
+ locationId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
94
+ effectiveFrom: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
95
+ effectiveTo: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
96
+ channelMappings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
97
+ channelId: z.ZodString;
98
+ externalPricingRuleId: z.ZodString;
99
+ }, z.core.$strip>>>>>;
100
+ discountId: z.ZodOptional<z.ZodString>;
101
+ condition: z.ZodOptional<z.ZodObject<{
102
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
103
+ startMinute: z.ZodOptional<z.ZodNumber>;
104
+ endMinute: z.ZodOptional<z.ZodNumber>;
105
+ customerSegmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
106
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
107
+ productSetId: z.ZodString;
108
+ }, z.core.$strip>>;
109
+ productSetRevisionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
110
+ placement: z.ZodOptional<z.ZodOptional<z.ZodObject<{
111
+ placementIntent: z.ZodObject<{
112
+ mode: z.ZodEnum<{
113
+ BEGINNING: "BEGINNING";
114
+ END: "END";
115
+ KEEP_CURRENT: "KEEP_CURRENT";
116
+ BEFORE_ITEM: "BEFORE_ITEM";
117
+ AFTER_ITEM: "AFTER_ITEM";
118
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
119
+ }>;
120
+ }, z.core.$strip>;
121
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
123
+ }, z.core.$strip>>>;
124
+ id: z.ZodString;
125
+ }, z.core.$strip>;
126
+ export type ProductPricingRuleCondition = z.infer<typeof ProductPricingRuleConditionSchema>;
127
+ export type ProductPricingRule = z.infer<typeof ProductPricingRuleSchema>;
128
+ export type CreateProductPricingRule = z.infer<typeof CreateProductPricingRuleSchema>;
129
+ export type UpdateProductPricingRule = z.infer<typeof UpdateProductPricingRuleSchema>;
130
+ /**
131
+ * Product pricing rule filter options.
132
+ * @interface ProductPricingRuleFilters
133
+ */
134
+ export interface ProductPricingRuleFilters {
135
+ /** Text search across rule name */
136
+ search?: string;
137
+ /** Filter by location ID */
138
+ locationId?: string;
139
+ /** Filter by pricing channel */
140
+ channel?: PricingChannel;
141
+ /** Filter by active status */
142
+ isActive?: boolean;
143
+ }
144
+ /**
145
+ * Product pricing rule sorting options.
146
+ * @interface ProductPricingRuleSorting
147
+ */
148
+ export interface ProductPricingRuleSorting {
149
+ /** Field to sort by */
150
+ field: "name" | "createdAt";
151
+ /** Sort direction */
152
+ direction: "asc" | "desc";
153
+ }
154
+ /**
155
+ * Product pricing rule query options.
156
+ * @interface ProductPricingRuleQueryOptions
157
+ */
158
+ export interface ProductPricingRuleQueryOptions {
159
+ /** Page number (1-indexed) */
160
+ page: number;
161
+ /** Items per page */
162
+ pageSize: number;
163
+ /** Optional filters */
164
+ filters?: ProductPricingRuleFilters;
165
+ /** Optional sorting */
166
+ sorting?: ProductPricingRuleSorting;
167
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateProductPricingRuleSchema = exports.CreateProductPricingRuleSchema = exports.ProductPricingRuleSchema = exports.ProductPricingRuleConditionSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const base_schema_1 = require("../../base.schema");
6
+ const display_order_1 = require("../../type-definitions/display-order");
7
+ const pricing_rule_shared_schema_1 = require("../pricing-rule.shared.schema");
8
+ /**
9
+ * @fileoverview Product pricing rule schema definitions for promotions and discounts.
10
+ * @module business-mgt/product-pricing-rule
11
+ */
12
+ // ============================================================================
13
+ // CONDITION SCHEMA
14
+ // ============================================================================
15
+ /**
16
+ * Product pricing rule condition schema.
17
+ * Extends common pricing conditions with product set targeting.
18
+ */
19
+ exports.ProductPricingRuleConditionSchema = pricing_rule_shared_schema_1.PricingRuleCommonConditionSchema.safeExtend({
20
+ productSetId: zod_1.z.string().min(1).describe("References ProductSet that defines which products this pricing rule applies to. The rule activates when cart contents match the set criteria."),
21
+ });
22
+ // ============================================================================
23
+ // PRICING RULE SCHEMA
24
+ // ============================================================================
25
+ /**
26
+ * Product pricing rule schema.
27
+ * Defines promotional pricing logic applied to product orders.
28
+ */
29
+ exports.ProductPricingRuleSchema = base_schema_1.BaseModelSchema.safeExtend({
30
+ locationId: zod_1.z.string().nullable().optional().describe("Business location ID for location-specific pricing rules. Null applies to all locations."),
31
+ name: zod_1.z.string().min(1).max(120).describe("Display name for this pricing rule (e.g., 'Summer Sale 20% Off', 'Buy 2 Get 1 Free'). Shown to staff and in reports."),
32
+ channelMappings: zod_1.z.array(pricing_rule_shared_schema_1.PricingRuleChannelMappingSchema).nullable().optional().describe("Per-channel pricing rule ID mappings for external platform synchronization."),
33
+ discountId: zod_1.z.string().min(1).describe("References DiscountRule that defines the discount type and value to apply when this rule matches."),
34
+ productSetRevisionId: zod_1.z.string().nullable().optional().describe("Optional product set revision ID for version-scoped rule targeting. Ensures rule applies to specific catalog version."),
35
+ condition: exports.ProductPricingRuleConditionSchema.describe("Condition criteria that must be met for this pricing rule to apply. Includes product set targeting and quantity requirements."),
36
+ effectiveFrom: zod_1.z.number().int().nonnegative().optional().describe("Unix timestamp when this pricing rule becomes active. Rule is inactive before this time."),
37
+ effectiveTo: zod_1.z.number().int().nonnegative().optional().describe("Unix timestamp when this pricing rule expires. Rule is inactive after this time."),
38
+ isActive: zod_1.z.boolean().default(true).describe("Whether this pricing rule is currently active. Inactive rules are not applied even if conditions match. Defaults to true."),
39
+ }).superRefine((data, ctx) => {
40
+ if (data.effectiveFrom !== undefined && data.effectiveTo !== undefined && data.effectiveTo < data.effectiveFrom) {
41
+ ctx.addIssue({
42
+ code: "custom",
43
+ path: ["effectiveTo"],
44
+ message: "effectiveTo must be greater than or equal to effectiveFrom",
45
+ });
46
+ }
47
+ });
48
+ // ============================================================================
49
+ // CREATE/UPDATE SCHEMAS
50
+ // ============================================================================
51
+ /**
52
+ * Schema for creating a new product pricing rule.
53
+ * Omits auto-generated fields.
54
+ */
55
+ exports.CreateProductPricingRuleSchema = exports.ProductPricingRuleSchema.omit({
56
+ id: true,
57
+ createdAt: true,
58
+ updatedAt: true,
59
+ }).safeExtend({
60
+ placement: display_order_1.CreateDisplayOrderPlacementSchema.optional().describe("Optional placement for display ordering"),
61
+ });
62
+ /**
63
+ * Schema for updating an existing product pricing rule.
64
+ * All fields optional except id (required).
65
+ */
66
+ exports.UpdateProductPricingRuleSchema = exports.CreateProductPricingRuleSchema.partial().safeExtend({
67
+ id: zod_1.z.string().describe("Unique identifier of the ProductPricingRule to update"),
68
+ });