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,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateMenuItemVariantSchema = exports.CreateMenuItemVariantSchema = exports.MenuItemVariantSchema = exports.MenuItemVariantChannelMappingSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const base_schema_1 = require("../../base.schema");
6
+ /**
7
+ * @fileoverview Menu item variant schema definitions for business management.
8
+ * @module business-mgt/menu-item-variant
9
+ *
10
+ * Includes menu item variants for different sizes/options of the same
11
+ * menu item (e.g., Small, Medium, Large).
12
+ */
13
+ // ============================================================================
14
+ // CHANNEL MAPPING SCHEMAS
15
+ // ============================================================================
16
+ /**
17
+ * Menu item variant channel mapping schema.
18
+ * Maps menu item variants to external platform identifiers.
19
+ *
20
+ * @typedef {Object} MenuItemVariantChannelMapping
21
+ * @property {string} channelId - Channel identifier (e.g., doordash, uber-eats)
22
+ * @property {string} externalVariantId - External variant ID for synchronization
23
+ * @property {string} [externalMenuItemId] - Optional external parent menu item ID
24
+ */
25
+ exports.MenuItemVariantChannelMappingSchema = zod_1.z.object({
26
+ channelId: zod_1.z.string().describe("Channel ID (e.g., doordash, uber-eats)"),
27
+ externalVariantId: zod_1.z.string().describe("External variant ID for this specific channel"),
28
+ externalMenuItemId: zod_1.z.string().nullable().optional().describe("Optional external parent menu item ID in this channel"),
29
+ }).describe("Per-channel external menu variant ID mapping");
30
+ // ============================================================================
31
+ // MENU ITEM VARIANT SCHEMA
32
+ // ============================================================================
33
+ /**
34
+ * Menu item variant schema.
35
+ * Different sizes/options for the same menu item.
36
+ *
37
+ * @typedef {Object} MenuItemVariant
38
+ * @property {string} menuItemId - Parent menu item ID
39
+ * @property {string} name - Variant name (e.g., Small, Medium, Large)
40
+ * @property {string} [description] - Variant description
41
+ * @property {number} price - Variant price
42
+ * @property {boolean} isAvailable - Whether variant is currently available
43
+ * @property {boolean} isActive - Whether variant is active in menu
44
+ * @property {boolean} isDefault - Whether this is the default variant
45
+ * @property {MenuItemVariantChannelMapping[]} [variantChannelMappings] - Per-channel mappings
46
+ * @property {number} [orderCount] - Total orders for this variant (read-only)
47
+ * @property {number} [recentOrderCount] - Orders in last 30 days (read-only)
48
+ * @property {number} [lastOrderedAt] - Unix timestamp of last order (read-only)
49
+ */
50
+ exports.MenuItemVariantSchema = base_schema_1.BaseModelSchema.safeExtend({
51
+ menuItemId: zod_1.z.string().describe("Parent menu item ID this variant belongs to"),
52
+ name: zod_1.z.string().min(1, "Variant name is required").describe("Variant name (e.g., Small, Medium, Large, Regular, Family Size)"),
53
+ description: zod_1.z.string().nullable().optional().describe("Variant description with additional details"),
54
+ price: zod_1.z.number().nonnegative().describe("Variant price in the account's currency"),
55
+ isAvailable: zod_1.z.boolean().default(true).describe("Whether variant is currently available for ordering"),
56
+ isActive: zod_1.z.boolean().default(true).describe("Whether variant is active in the menu catalog"),
57
+ isDefault: zod_1.z.boolean().default(false).describe("Whether this is the default variant for the menu item"),
58
+ variantChannelMappings: zod_1.z.array(exports.MenuItemVariantChannelMappingSchema).nullable().optional().describe("Per-channel variant ID mappings for external platform integrations"),
59
+ // Ordering analytics (View Model only - not set on create/update)
60
+ orderCount: zod_1.z.number().int().nonnegative().nullable().optional().describe("Total orders for this variant (all time)"),
61
+ recentOrderCount: zod_1.z.number().int().nonnegative().nullable().optional().describe("Orders for this variant in the last 30 days"),
62
+ lastOrderedAt: zod_1.z.number().int().positive().nullable().optional().describe("Unix timestamp of the last order for this variant"),
63
+ });
64
+ // ============================================================================
65
+ // CREATE/UPDATE SCHEMAS
66
+ // ============================================================================
67
+ /**
68
+ * Schema for creating a new menu item variant.
69
+ * Omits auto-generated fields.
70
+ */
71
+ exports.CreateMenuItemVariantSchema = exports.MenuItemVariantSchema.omit({
72
+ id: true,
73
+ createdAt: true,
74
+ updatedAt: true,
75
+ // Omit analytics fields (view model only)
76
+ orderCount: true,
77
+ recentOrderCount: true,
78
+ lastOrderedAt: true,
79
+ });
80
+ /**
81
+ * Schema for updating an existing menu item variant.
82
+ * All fields are optional except id.
83
+ */
84
+ exports.UpdateMenuItemVariantSchema = exports.CreateMenuItemVariantSchema.partial().safeExtend({
85
+ id: zod_1.z.string(),
86
+ });
@@ -0,0 +1,239 @@
1
+ import { z } from "zod";
2
+ import { PricingChannel } from "../../type-definitions";
3
+ /**
4
+ * @fileoverview Menu pricing rule schema definitions for menu-specific discounts and promotions.
5
+ * @module business-mgt/menu-pricing-rule
6
+ *
7
+ * Includes pricing rules, conditions, and channel mappings for
8
+ * menu-specific discounts and promotional pricing.
9
+ */
10
+ /**
11
+ * Menu pricing rule base condition schema.
12
+ * Base conditions for menu pricing rules including time and amount restrictions.
13
+ *
14
+ * @typedef {Object} MenuPricingRuleBaseCondition
15
+ * @property {PricingChannel} channel - Target channel for this rule
16
+ * @property {number} [minOrderAmount] - Minimum order amount to apply rule
17
+ * @property {number} [maxOrderAmount] - Maximum order amount to apply rule
18
+ * @property {string[]} [customerGroupIds] - Target customer group IDs
19
+ * @property {number[]} [dayOfWeek] - Days of week (0=Sunday, 6=Saturday)
20
+ * @property {string} [timeStart] - Start time (HH:mm format)
21
+ * @property {string} [timeEnd] - End time (HH:mm format)
22
+ */
23
+ export declare const MenuPricingRuleBaseConditionSchema: z.ZodObject<{
24
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
25
+ minOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
26
+ maxOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27
+ customerGroupIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
28
+ dayOfWeek: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
29
+ timeStart: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ timeEnd: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ }, z.core.$strip>;
32
+ /**
33
+ * Menu pricing rule condition schema.
34
+ * Menu-specific conditions for pricing rule application.
35
+ *
36
+ * @typedef {Object} MenuPricingRuleCondition
37
+ * @property {string} menuSetId - Menu set ID this rule applies to
38
+ * @property {string[]} [menuItemIds] - Specific menu item IDs to target
39
+ * @property {string[]} [categoryIds] - Menu category IDs to target
40
+ */
41
+ export declare const MenuPricingRuleConditionSchema: z.ZodObject<{
42
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
43
+ minOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
44
+ maxOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
45
+ customerGroupIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
46
+ dayOfWeek: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
47
+ timeStart: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ timeEnd: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
+ menuSetId: z.ZodString;
50
+ menuItemIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
51
+ categoryIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
52
+ }, z.core.$strip>;
53
+ /**
54
+ * Menu pricing rule schema.
55
+ * Defines pricing rules for menu-specific discounts and promotions.
56
+ *
57
+ * @typedef {Object} MenuPricingRule
58
+ * @property {string} [locationId] - Location ID for location-specific rules
59
+ * @property {string} name - Pricing rule name
60
+ * @property {string} [description] - Pricing rule description
61
+ * @property {PricingRuleChannelMapping[]} [channelMappings] - Per-channel mappings
62
+ * @property {string} discountId - Associated discount ID
63
+ * @property {string} [menuSetRevisionId] - Menu set revision ID for version-scoped rules
64
+ * @property {MenuPricingRuleCondition} condition - Conditions for rule application
65
+ * @property {number} [effectiveFrom] - Start timestamp for rule validity
66
+ * @property {number} [effectiveTo] - End timestamp for rule validity
67
+ * @property {number} displayOrder - Display order in rule list
68
+ * @property {boolean} isActive - Whether this rule is active
69
+ */
70
+ export declare const MenuPricingRuleSchema: z.ZodObject<{
71
+ id: z.ZodString;
72
+ createdAt: z.ZodOptional<z.ZodNumber>;
73
+ updatedAt: z.ZodOptional<z.ZodNumber>;
74
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
75
+ name: z.ZodString;
76
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
77
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
78
+ channelId: z.ZodString;
79
+ externalPricingRuleId: z.ZodString;
80
+ }, z.core.$strip>>>>;
81
+ discountId: z.ZodString;
82
+ menuSetRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ condition: z.ZodObject<{
84
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
85
+ minOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
86
+ maxOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
87
+ customerGroupIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
88
+ dayOfWeek: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
89
+ timeStart: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
+ timeEnd: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
+ menuSetId: z.ZodString;
92
+ menuItemIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
93
+ categoryIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
94
+ }, z.core.$strip>;
95
+ effectiveFrom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
96
+ effectiveTo: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
97
+ displayOrder: z.ZodDefault<z.ZodNumber>;
98
+ isActive: z.ZodDefault<z.ZodBoolean>;
99
+ }, z.core.$strip>;
100
+ /**
101
+ * Schema for creating a new menu pricing rule.
102
+ * Omits auto-generated fields.
103
+ */
104
+ export declare const CreateMenuPricingRuleSchema: z.ZodObject<{
105
+ displayOrder: z.ZodDefault<z.ZodNumber>;
106
+ name: z.ZodString;
107
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
108
+ isActive: z.ZodDefault<z.ZodBoolean>;
109
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
110
+ effectiveFrom: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
111
+ effectiveTo: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
112
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
113
+ channelId: z.ZodString;
114
+ externalPricingRuleId: z.ZodString;
115
+ }, z.core.$strip>>>>;
116
+ discountId: z.ZodString;
117
+ menuSetRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
118
+ condition: z.ZodObject<{
119
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
120
+ minOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
121
+ maxOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
122
+ customerGroupIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
123
+ dayOfWeek: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
124
+ timeStart: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
+ timeEnd: z.ZodOptional<z.ZodNullable<z.ZodString>>;
126
+ menuSetId: z.ZodString;
127
+ menuItemIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
128
+ categoryIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
129
+ }, z.core.$strip>;
130
+ placement: z.ZodOptional<z.ZodObject<{
131
+ placementIntent: z.ZodObject<{
132
+ mode: z.ZodEnum<{
133
+ BEGINNING: "BEGINNING";
134
+ END: "END";
135
+ KEEP_CURRENT: "KEEP_CURRENT";
136
+ BEFORE_ITEM: "BEFORE_ITEM";
137
+ AFTER_ITEM: "AFTER_ITEM";
138
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
139
+ }>;
140
+ }, z.core.$strip>;
141
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
142
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
143
+ }, z.core.$strip>>;
144
+ }, z.core.$strip>;
145
+ /**
146
+ * Schema for updating an existing menu pricing rule.
147
+ * All fields optional except id (required).
148
+ */
149
+ export declare const UpdateMenuPricingRuleSchema: z.ZodObject<{
150
+ displayOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
151
+ name: z.ZodOptional<z.ZodString>;
152
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
153
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
154
+ locationId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
155
+ effectiveFrom: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
156
+ effectiveTo: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
157
+ channelMappings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
158
+ channelId: z.ZodString;
159
+ externalPricingRuleId: z.ZodString;
160
+ }, z.core.$strip>>>>>;
161
+ discountId: z.ZodOptional<z.ZodString>;
162
+ menuSetRevisionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
163
+ condition: z.ZodOptional<z.ZodObject<{
164
+ channel: z.ZodDefault<z.ZodEnum<typeof PricingChannel>>;
165
+ minOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
166
+ maxOrderAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
167
+ customerGroupIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
168
+ dayOfWeek: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
169
+ timeStart: z.ZodOptional<z.ZodNullable<z.ZodString>>;
170
+ timeEnd: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
+ menuSetId: z.ZodString;
172
+ menuItemIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
173
+ categoryIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
174
+ }, z.core.$strip>>;
175
+ placement: z.ZodOptional<z.ZodOptional<z.ZodObject<{
176
+ placementIntent: z.ZodObject<{
177
+ mode: z.ZodEnum<{
178
+ BEGINNING: "BEGINNING";
179
+ END: "END";
180
+ KEEP_CURRENT: "KEEP_CURRENT";
181
+ BEFORE_ITEM: "BEFORE_ITEM";
182
+ AFTER_ITEM: "AFTER_ITEM";
183
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
184
+ }>;
185
+ }, z.core.$strip>;
186
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
187
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
188
+ }, z.core.$strip>>>;
189
+ id: z.ZodString;
190
+ }, z.core.$strip>;
191
+ export type MenuPricingRuleBaseCondition = z.infer<typeof MenuPricingRuleBaseConditionSchema>;
192
+ export type MenuPricingRuleCondition = z.infer<typeof MenuPricingRuleConditionSchema>;
193
+ export type MenuPricingRule = z.infer<typeof MenuPricingRuleSchema>;
194
+ export type CreateMenuPricingRule = z.infer<typeof CreateMenuPricingRuleSchema>;
195
+ export type UpdateMenuPricingRule = z.infer<typeof UpdateMenuPricingRuleSchema>;
196
+ /**
197
+ * Menu pricing rule filter options.
198
+ * @interface MenuPricingRuleFilters
199
+ */
200
+ export interface MenuPricingRuleFilters {
201
+ /** Text search across name/description */
202
+ search?: string;
203
+ /** Filter by location ID */
204
+ locationId?: string;
205
+ /** Filter by pricing channel */
206
+ channel?: PricingChannel;
207
+ /** Filter by menu set ID */
208
+ menuSetId?: string;
209
+ /** Filter by discount ID */
210
+ discountId?: string;
211
+ /** Filter by active status */
212
+ isActive?: boolean;
213
+ /** Filter by effective timestamp */
214
+ effectiveAt?: number;
215
+ }
216
+ /**
217
+ * Menu pricing rule sorting options.
218
+ * @interface MenuPricingRuleSorting
219
+ */
220
+ export interface MenuPricingRuleSorting {
221
+ /** Field to sort by */
222
+ field: "name" | "createdAt" | "displayOrder";
223
+ /** Sort direction */
224
+ direction: "asc" | "desc";
225
+ }
226
+ /**
227
+ * Menu pricing rule query options.
228
+ * @interface MenuPricingRuleQueryOptions
229
+ */
230
+ export interface MenuPricingRuleQueryOptions {
231
+ /** Page number (1-indexed) */
232
+ page: number;
233
+ /** Items per page */
234
+ pageSize: number;
235
+ /** Optional filters */
236
+ filters?: MenuPricingRuleFilters;
237
+ /** Optional sorting */
238
+ sorting?: MenuPricingRuleSorting;
239
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateMenuPricingRuleSchema = exports.CreateMenuPricingRuleSchema = exports.MenuPricingRuleSchema = exports.MenuPricingRuleConditionSchema = exports.MenuPricingRuleBaseConditionSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const base_schema_1 = require("../../base.schema");
6
+ const type_definitions_1 = require("../../type-definitions");
7
+ const pricing_rule_shared_schema_1 = require("../pricing-rule.shared.schema");
8
+ /**
9
+ * @fileoverview Menu pricing rule schema definitions for menu-specific discounts and promotions.
10
+ * @module business-mgt/menu-pricing-rule
11
+ *
12
+ * Includes pricing rules, conditions, and channel mappings for
13
+ * menu-specific discounts and promotional pricing.
14
+ */
15
+ // ============================================================================
16
+ // CONDITION SCHEMAS
17
+ // ============================================================================
18
+ /**
19
+ * Menu pricing rule base condition schema.
20
+ * Base conditions for menu pricing rules including time and amount restrictions.
21
+ *
22
+ * @typedef {Object} MenuPricingRuleBaseCondition
23
+ * @property {PricingChannel} channel - Target channel for this rule
24
+ * @property {number} [minOrderAmount] - Minimum order amount to apply rule
25
+ * @property {number} [maxOrderAmount] - Maximum order amount to apply rule
26
+ * @property {string[]} [customerGroupIds] - Target customer group IDs
27
+ * @property {number[]} [dayOfWeek] - Days of week (0=Sunday, 6=Saturday)
28
+ * @property {string} [timeStart] - Start time (HH:mm format)
29
+ * @property {string} [timeEnd] - End time (HH:mm format)
30
+ */
31
+ exports.MenuPricingRuleBaseConditionSchema = zod_1.z.object({
32
+ channel: zod_1.z.enum(type_definitions_1.PricingChannel).default(type_definitions_1.PricingChannel.ALL).describe("Target channel for this rule"),
33
+ minOrderAmount: zod_1.z.number().nonnegative().nullable().optional().describe("Minimum order amount to apply rule"),
34
+ maxOrderAmount: zod_1.z.number().nonnegative().nullable().optional().describe("Maximum order amount to apply rule"),
35
+ customerGroupIds: zod_1.z.array(zod_1.z.string()).nullable().optional().describe("Target customer group IDs"),
36
+ dayOfWeek: zod_1.z.array(zod_1.z.number().int().min(0).max(6)).nullable().optional().describe("Days of week (0=Sunday, 6=Saturday)"),
37
+ timeStart: zod_1.z.string().nullable().optional().describe("Start time (HH:mm format)"),
38
+ timeEnd: zod_1.z.string().nullable().optional().describe("End time (HH:mm format)"),
39
+ });
40
+ /**
41
+ * Menu pricing rule condition schema.
42
+ * Menu-specific conditions for pricing rule application.
43
+ *
44
+ * @typedef {Object} MenuPricingRuleCondition
45
+ * @property {string} menuSetId - Menu set ID this rule applies to
46
+ * @property {string[]} [menuItemIds] - Specific menu item IDs to target
47
+ * @property {string[]} [categoryIds] - Menu category IDs to target
48
+ */
49
+ exports.MenuPricingRuleConditionSchema = exports.MenuPricingRuleBaseConditionSchema.extend({
50
+ menuSetId: zod_1.z.string().min(1).describe("Menu set ID this rule applies to"),
51
+ menuItemIds: zod_1.z.array(zod_1.z.string()).nullable().optional().describe("Specific menu item IDs to target"),
52
+ categoryIds: zod_1.z.array(zod_1.z.string()).nullable().optional().describe("Menu category IDs to target"),
53
+ });
54
+ // ============================================================================
55
+ // MENU PRICING RULE SCHEMA
56
+ // ============================================================================
57
+ /**
58
+ * Menu pricing rule schema.
59
+ * Defines pricing rules for menu-specific discounts and promotions.
60
+ *
61
+ * @typedef {Object} MenuPricingRule
62
+ * @property {string} [locationId] - Location ID for location-specific rules
63
+ * @property {string} name - Pricing rule name
64
+ * @property {string} [description] - Pricing rule description
65
+ * @property {PricingRuleChannelMapping[]} [channelMappings] - Per-channel mappings
66
+ * @property {string} discountId - Associated discount ID
67
+ * @property {string} [menuSetRevisionId] - Menu set revision ID for version-scoped rules
68
+ * @property {MenuPricingRuleCondition} condition - Conditions for rule application
69
+ * @property {number} [effectiveFrom] - Start timestamp for rule validity
70
+ * @property {number} [effectiveTo] - End timestamp for rule validity
71
+ * @property {number} displayOrder - Display order in rule list
72
+ * @property {boolean} isActive - Whether this rule is active
73
+ */
74
+ exports.MenuPricingRuleSchema = base_schema_1.BaseModelSchema.safeExtend({
75
+ locationId: zod_1.z.string().nullable().optional().describe("Location ID for location-specific rules"),
76
+ name: zod_1.z.string().min(1).max(120).describe("Pricing rule name"),
77
+ description: zod_1.z.string().nullable().optional().describe("Pricing rule description"),
78
+ channelMappings: zod_1.z.array(pricing_rule_shared_schema_1.PricingRuleChannelMappingSchema).nullable().optional().describe("Per-channel pricing rule ID mappings"),
79
+ discountId: zod_1.z.string().min(1).describe("Associated discount ID"),
80
+ menuSetRevisionId: zod_1.z.string().nullable().optional().describe("Menu set revision ID for version-scoped rules"),
81
+ condition: exports.MenuPricingRuleConditionSchema.describe("Conditions for rule application"),
82
+ effectiveFrom: zod_1.z.number().int().nonnegative().nullable().optional().describe("Start timestamp for rule validity"),
83
+ effectiveTo: zod_1.z.number().int().nonnegative().nullable().optional().describe("End timestamp for rule validity"),
84
+ displayOrder: zod_1.z.number().int().nonnegative().default(0).describe("Display order in rule list"),
85
+ isActive: zod_1.z.boolean().default(true).describe("Whether this rule is active"),
86
+ }).superRefine((data, ctx) => {
87
+ if (data.effectiveFrom !== undefined && data.effectiveFrom !== null &&
88
+ data.effectiveTo !== undefined && data.effectiveTo !== null &&
89
+ data.effectiveTo < data.effectiveFrom) {
90
+ ctx.addIssue({
91
+ code: "custom",
92
+ path: ["effectiveTo"],
93
+ message: "effectiveTo must be greater than or equal to effectiveFrom",
94
+ });
95
+ }
96
+ });
97
+ // ============================================================================
98
+ // CREATE/UPDATE SCHEMAS
99
+ // ============================================================================
100
+ /**
101
+ * Schema for creating a new menu pricing rule.
102
+ * Omits auto-generated fields.
103
+ */
104
+ exports.CreateMenuPricingRuleSchema = exports.MenuPricingRuleSchema.omit({
105
+ id: true,
106
+ createdAt: true,
107
+ updatedAt: true,
108
+ }).extend({
109
+ placement: type_definitions_1.CreateDisplayOrderPlacementSchema.optional().describe("Placement for display ordering"),
110
+ });
111
+ /**
112
+ * Schema for updating an existing menu pricing rule.
113
+ * All fields optional except id (required).
114
+ */
115
+ exports.UpdateMenuPricingRuleSchema = exports.CreateMenuPricingRuleSchema.partial().extend({
116
+ id: zod_1.z.string(),
117
+ });