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 { ReservationStatus } from "../../type-definitions";
3
+ /**
4
+ * @fileoverview Table reservation schema definitions.
5
+ * @module business-mgt/reservation-mgt/table-reservation
6
+ */
7
+ /**
8
+ * Table reservation schema.
9
+ * Represents a reservation request for a table-based venue such as a restaurant.
10
+ *
11
+ * @typedef {Object} TableReservation
12
+ * @property {string} [locationId] - Business location where the table reservation is booked
13
+ * @property {string} [channelId] - Channel that created or owns the booking
14
+ * @property {string} resourceId - Table resource or category being reserved
15
+ * @property {string} customerId - Customer who owns the reservation
16
+ * @property {string} [floorPlanId] - Floor plan used for table placement
17
+ * @property {string} [floorPlanSectionId] - Preferred or assigned floor plan section
18
+ * @property {number} personsNumber - Number of guests in the party
19
+ * @property {number} time - Reservation start timestamp
20
+ * @property {number} duration - Reservation duration in minutes
21
+ * @property {ReservationStatus} status - Current table reservation status
22
+ * @property {string} [source] - Source or channel label for the reservation
23
+ * @property {string} [notes] - Internal staff notes
24
+ * @property {boolean} isVip - Whether the reservation is marked as VIP
25
+ * @property {string} [specialRequests] - Customer-facing special requests
26
+ * @property {Object} [externalRef] - External platform reference
27
+ */
28
+ export declare const TableReservationSchema: z.ZodObject<{
29
+ id: z.ZodString;
30
+ createdAt: z.ZodOptional<z.ZodNumber>;
31
+ updatedAt: z.ZodOptional<z.ZodNumber>;
32
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
+ channelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
+ resourceId: z.ZodString;
35
+ customerId: z.ZodString;
36
+ floorPlanId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ floorPlanSectionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
38
+ personsNumber: z.ZodNumber;
39
+ time: z.ZodNumber;
40
+ duration: z.ZodNumber;
41
+ status: z.ZodDefault<z.ZodEnum<typeof ReservationStatus>>;
42
+ source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
+ isVip: z.ZodDefault<z.ZodBoolean>;
45
+ specialRequests: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
+ externalRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
47
+ externalId: z.ZodString;
48
+ source: z.ZodString;
49
+ url: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
50
+ syncedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
51
+ }, z.core.$strip>>>;
52
+ }, z.core.$strip>;
53
+ /**
54
+ * Schema for creating a new table reservation.
55
+ * Omits auto-generated fields.
56
+ */
57
+ export declare const CreateTableReservationSchema: z.ZodObject<{
58
+ source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ time: z.ZodNumber;
60
+ duration: z.ZodNumber;
61
+ status: z.ZodDefault<z.ZodEnum<typeof ReservationStatus>>;
62
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
+ customerId: z.ZodString;
64
+ channelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
65
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ externalRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
67
+ externalId: z.ZodString;
68
+ source: z.ZodString;
69
+ url: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
70
+ syncedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
71
+ }, z.core.$strip>>>;
72
+ resourceId: z.ZodString;
73
+ floorPlanId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
+ floorPlanSectionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
75
+ personsNumber: z.ZodNumber;
76
+ isVip: z.ZodDefault<z.ZodBoolean>;
77
+ specialRequests: z.ZodOptional<z.ZodNullable<z.ZodString>>;
78
+ }, z.core.$strip>;
79
+ /**
80
+ * Schema for updating an existing table reservation.
81
+ * All fields optional except id.
82
+ */
83
+ export declare const UpdateTableReservationSchema: z.ZodObject<{
84
+ source: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
85
+ time: z.ZodOptional<z.ZodNumber>;
86
+ duration: z.ZodOptional<z.ZodNumber>;
87
+ locationId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
88
+ customerId: z.ZodOptional<z.ZodString>;
89
+ channelId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
90
+ notes: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
91
+ externalRef: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
92
+ externalId: z.ZodString;
93
+ source: z.ZodString;
94
+ url: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
95
+ syncedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
96
+ }, z.core.$strip>>>>;
97
+ resourceId: z.ZodOptional<z.ZodString>;
98
+ floorPlanId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
99
+ floorPlanSectionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
100
+ personsNumber: z.ZodOptional<z.ZodNumber>;
101
+ isVip: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
102
+ specialRequests: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
103
+ id: z.ZodString;
104
+ status: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ReservationStatus>>>;
105
+ }, z.core.$strip>;
106
+ /**
107
+ * Schema for reassigning a table reservation to a different table instance.
108
+ */
109
+ export declare const TableReAssignmentSchema: z.ZodObject<{
110
+ reservationId: z.ZodString;
111
+ toTableInstanceId: z.ZodString;
112
+ fromTableInstanceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
+ reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
114
+ }, z.core.$strip>;
115
+ export type TableReservation = z.infer<typeof TableReservationSchema>;
116
+ export type CreateTableReservation = z.infer<typeof CreateTableReservationSchema>;
117
+ export type UpdateTableReservation = z.infer<typeof UpdateTableReservationSchema>;
118
+ export type TableReAssignment = z.infer<typeof TableReAssignmentSchema>;
119
+ /**
120
+ * Table reservation filter options.
121
+ * @interface TableReservationFilters
122
+ */
123
+ export interface TableReservationFilters {
124
+ /** Text search across table reservation fields */
125
+ search?: string;
126
+ /** Filter by business location ID */
127
+ locationId?: string;
128
+ /** Filter by booking channel ID */
129
+ channelId?: string;
130
+ /** Filter by customer ID */
131
+ customerId?: string;
132
+ /** Filter by reservation statuses */
133
+ status?: ReservationStatus[];
134
+ /** Filter by table resource or instance ID */
135
+ tableId?: string;
136
+ /** Filter by reservation start timestamp range */
137
+ dateRange?: {
138
+ start?: number;
139
+ end?: number;
140
+ };
141
+ /** Filter by external source platform */
142
+ externalSource?: string;
143
+ }
144
+ /**
145
+ * Table reservation sorting options.
146
+ * @interface TableReservationSorting
147
+ */
148
+ export interface TableReservationSorting {
149
+ /** Field to sort by */
150
+ field: "time" | "duration" | "createdAt";
151
+ /** Sort direction */
152
+ direction: "asc" | "desc";
153
+ }
154
+ /**
155
+ * Table reservation query options.
156
+ * @interface TableReservationQueryOptions
157
+ */
158
+ export interface TableReservationQueryOptions {
159
+ /** Page number (1-indexed) */
160
+ page: number;
161
+ /** Items per page */
162
+ pageSize: number;
163
+ /** Optional filters */
164
+ filters?: TableReservationFilters;
165
+ /** Optional sorting */
166
+ sorting?: TableReservationSorting;
167
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TableReAssignmentSchema = exports.UpdateTableReservationSchema = exports.CreateTableReservationSchema = exports.TableReservationSchema = 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
+ /**
8
+ * @fileoverview Table reservation schema definitions.
9
+ * @module business-mgt/reservation-mgt/table-reservation
10
+ */
11
+ // ============================================================================
12
+ // TABLE RESERVATION SCHEMA
13
+ // ============================================================================
14
+ /**
15
+ * Table reservation schema.
16
+ * Represents a reservation request for a table-based venue such as a restaurant.
17
+ *
18
+ * @typedef {Object} TableReservation
19
+ * @property {string} [locationId] - Business location where the table reservation is booked
20
+ * @property {string} [channelId] - Channel that created or owns the booking
21
+ * @property {string} resourceId - Table resource or category being reserved
22
+ * @property {string} customerId - Customer who owns the reservation
23
+ * @property {string} [floorPlanId] - Floor plan used for table placement
24
+ * @property {string} [floorPlanSectionId] - Preferred or assigned floor plan section
25
+ * @property {number} personsNumber - Number of guests in the party
26
+ * @property {number} time - Reservation start timestamp
27
+ * @property {number} duration - Reservation duration in minutes
28
+ * @property {ReservationStatus} status - Current table reservation status
29
+ * @property {string} [source] - Source or channel label for the reservation
30
+ * @property {string} [notes] - Internal staff notes
31
+ * @property {boolean} isVip - Whether the reservation is marked as VIP
32
+ * @property {string} [specialRequests] - Customer-facing special requests
33
+ * @property {Object} [externalRef] - External platform reference
34
+ */
35
+ exports.TableReservationSchema = base_schema_1.BaseModelSchema.safeExtend({
36
+ locationId: zod_1.z.string().nullable().optional().describe("Business location ID where the table reservation is booked. Null applies when the reservation is not location-specific."),
37
+ channelId: zod_1.z.string().nullable().optional().describe("Channel ID for multi-channel bookings (e.g., web, marketplace, partner)"),
38
+ resourceId: zod_1.z.string().describe("Table type/category ID"),
39
+ customerId: zod_1.z.string().describe("Customer ID"),
40
+ floorPlanId: zod_1.z.string().nullable().optional().describe("Floor plan ID for table layout"),
41
+ floorPlanSectionId: zod_1.z.string().nullable().optional().describe("Floor plan section ID for table grouping"),
42
+ personsNumber: zod_1.z.number().int().positive().describe("Party size"),
43
+ time: zod_1.z.number().describe("Reservation start timestamp"),
44
+ duration: zod_1.z.number().int().positive().describe("Expected reservation duration in minutes"),
45
+ status: zod_1.z.enum(type_definitions_1.ReservationStatus).default(type_definitions_1.ReservationStatus.PENDING).describe("Table reservation lifecycle status"),
46
+ source: zod_1.z.string().nullable().optional().describe("Source/channel of the reservation"),
47
+ notes: zod_1.z.string().nullable().optional().describe("Internal notes"),
48
+ isVip: zod_1.z.boolean().default(false).describe("Indicates whether the party is VIP"),
49
+ specialRequests: zod_1.z.string().nullable().optional().describe("Guest special requests"),
50
+ externalRef: type_definitions_1.ExternalRefSchema.nullable().optional().describe("External system reference (when imported/synced)"),
51
+ });
52
+ // ============================================================================
53
+ // CREATE/UPDATE SCHEMAS
54
+ // ============================================================================
55
+ /**
56
+ * Schema for creating a new table reservation.
57
+ * Omits auto-generated fields.
58
+ */
59
+ exports.CreateTableReservationSchema = exports.TableReservationSchema.omit({
60
+ id: true,
61
+ createdAt: true,
62
+ updatedAt: true,
63
+ });
64
+ /**
65
+ * Schema for updating an existing table reservation.
66
+ * All fields optional except id.
67
+ */
68
+ exports.UpdateTableReservationSchema = exports.CreateTableReservationSchema.partial().extend({
69
+ id: zod_1.z.string().describe("Unique identifier of the table reservation to update."),
70
+ // Re-declared without the base `.default()` so partial updates don't inject a status the caller never set
71
+ status: zod_1.z.enum(type_definitions_1.ReservationStatus).nullable().optional().describe("Table reservation lifecycle status"),
72
+ });
73
+ // ============================================================================
74
+ // REASSIGNMENT SCHEMA
75
+ // ============================================================================
76
+ /**
77
+ * Schema for reassigning a table reservation to a different table instance.
78
+ */
79
+ exports.TableReAssignmentSchema = zod_1.z.object({
80
+ reservationId: zod_1.z.string().describe("Table reservation ID being reassigned."),
81
+ toTableInstanceId: zod_1.z.string().describe("Target table instance ID the reservation is being moved to."),
82
+ fromTableInstanceId: zod_1.z.string().nullable().optional().describe("Current table instance ID the reservation is being moved from."),
83
+ reason: zod_1.z.string().nullable().optional().describe("Optional reason for the reassignment."),
84
+ });
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ // import { z } from "zod";
3
+ // import { BaseModelSchemaWithAudit } from "../../base.schema";
4
+ // import { PaymentStatus, ReservationSettingType, ReservationStatus, ResourceReservationDurationUnit, ResourceType } from "../constants";
5
+ // import { OrderPricingSchema } from "../order-mgt/order.schema";
6
+ // export const ReservationSettingsSchema = BaseModelSchemaWithAudit.safeExtend({
7
+ // organizationId: z.string().describe("Business account ID"),
8
+ // locationId: z.string().nullable().optional().describe("Business location ID"),
9
+ // reservationType: z.enum(ResourceType).describe("Type of reservation (table, room, rental, etc.)"),
10
+ // settingType: z.enum(ReservationSettingType).describe("Type of reservation setting"),
11
+ // defaultReservationDuration: z.number().int().positive().default(1).optional().describe("Default reservation duration"),
12
+ // defaultReservationDurationUnit: z.enum(ResourceReservationDurationUnit).optional().default(ResourceReservationDurationUnit.HOURS).describe("Unit of the default reservation duration"),
13
+ // isActive: z.boolean().default(false).describe("Whether this reservation setting is active"),
14
+ // });
15
+ // export const CreateReservationSettingsSchema = ReservationSettingsSchema.omit({
16
+ // id: true,
17
+ // createdAt: true,
18
+ // updatedAt: true,
19
+ // createdBy: true,
20
+ // updatedBy: true,
21
+ // deletedAt: true,
22
+ // deletedBy: true,
23
+ // uniqueKey: true,
24
+ // version: true,
25
+ // });
26
+ // export const UpdateReservationSettingsSchema = CreateReservationSettingsSchema.partial().safeExtend({
27
+ // id: z.string(),
28
+ // });
29
+ // export type ReservationSettings = z.infer<typeof ReservationSettingsSchema>;
30
+ // export type CreateReservationSettings = z.infer<typeof CreateReservationSettingsSchema>;
31
+ // export type UpdateReservationSettings = z.infer<typeof UpdateReservationSettingsSchema>;
32
+ // // Reservation schema
33
+ // export const ReservationSchema = BaseModelSchemaWithAudit.safeExtend({
34
+ // organizationId: z.string().describe("Business account ID"),
35
+ // locationId: z.string().nullable().optional().describe("Business location ID"),
36
+ // reservationType: z.enum(ResourceType).describe("Type of reservation"),
37
+ // roomTypeId: z.string().nullable().optional().describe("Room type/category ID for room reservations"),
38
+ // assignedRoomId: z.string().nullable().optional().describe("Assigned room/resource ID"),
39
+ // resourceId: z.string().optional().nullable().describe("ID of the reserved resource (table, room, etc.)"),
40
+ // customerId: z.string().describe("Customer ID if registered"),
41
+ // customerName: z.string().optional().describe("Customer's full name"),
42
+ // customerEmail: z.email().optional().describe("Customer's email address"),
43
+ // startTime: z.number().describe("Reservation start time as Unix timestamp"),
44
+ // endTime: z.number().optional().describe("Reservation end time as Unix timestamp"),
45
+ // duration: z.number().nonnegative().optional().describe("Duration based on resource type (in nights for rooms/rental, hours for rental, open-ended for tables)"),
46
+ // personsNumber: z.number().int().nonnegative().optional().describe("Number of people for the reservation"),
47
+ // source: z.string().nullable().optional().describe("Reservation source/channel (e.g., direct, marketplace, phone)"),
48
+ // ratePerNight: z.array(z.object({
49
+ // date: z.string().describe("Rate date (YYYY-MM-DD)"),
50
+ // amount: z.number().nonnegative().describe("Nightly amount for this date"),
51
+ // })).nullable().optional().describe("Per-night pricing breakdown"),
52
+ // totalPrice: z.number().nonnegative().optional().describe("Total price for the reservation"),
53
+ // totalWithTax: z.number().nonnegative().nullable().optional().describe("Total amount including tax"),
54
+ // pricing: OrderPricingSchema.optional().describe("Detailed pricing breakdown for the reservation"),
55
+ // depositPaid: z.number().nonnegative().default(0).describe("Deposit amount paid"),
56
+ // paymentStatus: z.enum(PaymentStatus).nullable().optional().describe("Payment status for the reservation"),
57
+ // status: z.enum(ReservationStatus).default(ReservationStatus.PENDING).describe("Current reservation status"),
58
+ // notes: z.string().optional().describe("Special requests or notes"),
59
+ // cancelReason: z.string().nullable().optional().describe("Reason for cancellation, if applicable"),
60
+ // isResourceReservation: z.boolean().default(false).describe("Indicates if this reservation is for a specific resource"),
61
+ // serviceConversationConfigId: z.string().nullable().optional().describe("Configuration ID for service conversation"),
62
+ // });
63
+ // export const CreateReservationSchema = ReservationSchema.omit({
64
+ // id: true,
65
+ // createdAt: true,
66
+ // updatedAt: true,
67
+ // createdBy: true,
68
+ // updatedBy: true,
69
+ // deletedAt: true,
70
+ // deletedBy: true,
71
+ // uniqueKey: true,
72
+ // version: true,
73
+ // cancelReason: true
74
+ // });
75
+ // export const UpdateReservationSchema = CreateReservationSchema.partial().safeExtend({
76
+ // id: z.string(),
77
+ // cancelReason: z.string().nullable().optional().describe("Reason for cancellation, if applicable"),
78
+ // });
79
+ // export type Reservation = z.infer<typeof ReservationSchema>;
80
+ // export type CreateReservation = z.infer<typeof CreateReservationSchema>;
81
+ // export type UpdateReservation = z.infer<typeof UpdateReservationSchema>;
82
+ // export enum WaitlistStatus {
83
+ // WAITING = "waiting",
84
+ // NOTIFIED = "notified",
85
+ // SEATED = "seated",
86
+ // ABANDONED = "abandoned",
87
+ // }
88
+ // export const WaitlistSchema = BaseModelSchemaWithAudit.safeExtend({
89
+ // organizationId: z.string().describe("Business account ID"),
90
+ // locationId: z.string().nullable().optional().describe("Business location ID"),
91
+ // partyName: z.string().min(1).describe("Name for the party on the waitlist"),
92
+ // partySize: z.number().int().positive().describe("Party size"),
93
+ // addedAt: z.number().describe("Timestamp when party was added to waitlist"),
94
+ // status: z.enum(WaitlistStatus).default(WaitlistStatus.WAITING).describe("Current waitlist status"),
95
+ // quotedWaitMinutes: z.number().int().nonnegative().describe("Quoted wait time in minutes"),
96
+ // });
97
+ // export const CreateWaitlistSchema = WaitlistSchema.omit({
98
+ // id: true,
99
+ // createdAt: true,
100
+ // updatedAt: true,
101
+ // createdBy: true,
102
+ // updatedBy: true,
103
+ // deletedAt: true,
104
+ // deletedBy: true,
105
+ // uniqueKey: true,
106
+ // version: true,
107
+ // });
108
+ // export const UpdateWaitlistSchema = CreateWaitlistSchema.partial().safeExtend({
109
+ // id: z.string(),
110
+ // });
111
+ // export type Waitlist = z.infer<typeof WaitlistSchema>;
112
+ // export type CreateWaitlist = z.infer<typeof CreateWaitlistSchema>;
113
+ // export type UpdateWaitlist = z.infer<typeof UpdateWaitlistSchema>;
114
+ // // Query Options
115
+ // export interface ReservationFilters {
116
+ // search?: string;
117
+ // locationId?: string;
118
+ // status?: ReservationStatus[];
119
+ // reservationType?: ResourceType[];
120
+ // resourceId?: string;
121
+ // customerId?: string;
122
+ // isResourceReservation?: boolean;
123
+ // dateRange?: { start?: number; end?: number; };
124
+ // includeDeleted?: boolean;
125
+ // }
126
+ // export interface ReservationSorting {
127
+ // field: 'startTime' | 'endTime' | 'createdAt';
128
+ // direction: 'asc' | 'desc';
129
+ // }
130
+ // export interface ReservationQueryOptions {
131
+ // page: number;
132
+ // pageSize: number;
133
+ // filters?: ReservationFilters;
134
+ // sorting?: ReservationSorting;
135
+ // }
136
+ // export interface WaitlistFilters {
137
+ // search?: string;
138
+ // locationId?: string;
139
+ // status?: WaitlistStatus[];
140
+ // partySizeRange?: { min?: number; max?: number };
141
+ // dateRange?: { start?: number; end?: number };
142
+ // includeDeleted?: boolean;
143
+ // }
144
+ // export interface WaitlistSorting {
145
+ // field: "addedAt" | "quotedWaitMinutes" | "createdAt";
146
+ // direction: "asc" | "desc";
147
+ // }
148
+ // export interface WaitlistQueryOptions {
149
+ // page: number;
150
+ // pageSize: number;
151
+ // filters?: WaitlistFilters;
152
+ // sorting?: WaitlistSorting;
153
+ // }
@@ -0,0 +1,4 @@
1
+ export * from "./reservation-resource-category.schema";
2
+ export * from "./reservation-resource-instance.schema";
3
+ export * from "./reservation-resource.schema";
4
+ export * from "./resource-versioning.schema";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./reservation-resource-category.schema"), exports);
18
+ __exportStar(require("./reservation-resource-instance.schema"), exports);
19
+ __exportStar(require("./reservation-resource.schema"), exports);
20
+ __exportStar(require("./resource-versioning.schema"), exports);
@@ -0,0 +1,157 @@
1
+ import { z } from "zod";
2
+ import { ResourceType } from "../../../type-definitions";
3
+ /**
4
+ * @fileoverview Reservation resource category schema definitions.
5
+ * @module business-mgt/reservation-mgt/resource-category
6
+ */
7
+ /**
8
+ * Resource category channel mapping schema.
9
+ * Maps reservation resource categories to external platform category IDs.
10
+ *
11
+ * @typedef {Object} ResourceCategoryChannelMapping
12
+ * @property {string} channelId - Channel identifier
13
+ * @property {string} externalCategoryId - External category ID
14
+ */
15
+ export declare const ResourceCategoryChannelMappingSchema: z.ZodObject<{
16
+ channelId: z.ZodString;
17
+ externalCategoryId: z.ZodString;
18
+ }, z.core.$strip>;
19
+ /**
20
+ * Resource category schema.
21
+ * Groups reservation resources by type, location, channel mapping, and display order.
22
+ *
23
+ * @typedef {Object} ResourceCategory
24
+ * @property {string} [resourceRevisionId] - Version control for resource category changes
25
+ * @property {string} [locationId] - Business location where the category applies
26
+ * @property {string} name - Category display name
27
+ * @property {string} [description] - Category description
28
+ * @property {ResourceCategoryChannelMapping[]} [channelMappings] - Per-channel category mappings
29
+ * @property {ResourceType} [resourceType] - Optional resource type scope
30
+ * @property {number} [displayOrder] - Display order in category lists
31
+ * @property {boolean} isActive - Whether the category is active
32
+ * @property {Object} [metadata] - Additional category metadata
33
+ */
34
+ export declare const ResourceCategorySchema: z.ZodObject<{
35
+ id: z.ZodString;
36
+ createdAt: z.ZodOptional<z.ZodNumber>;
37
+ updatedAt: z.ZodOptional<z.ZodNumber>;
38
+ resourceRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ name: z.ZodString;
41
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
43
+ channelId: z.ZodString;
44
+ externalCategoryId: z.ZodString;
45
+ }, z.core.$strip>>>>;
46
+ resourceType: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ResourceType>>>;
47
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
48
+ isActive: z.ZodDefault<z.ZodBoolean>;
49
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
50
+ }, z.core.$strip>;
51
+ /**
52
+ * Schema for creating a new resource category.
53
+ * Omits auto-generated fields.
54
+ */
55
+ export declare const CreateResourceCategorySchema: z.ZodObject<{
56
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
57
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
58
+ name: z.ZodString;
59
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
+ isActive: z.ZodDefault<z.ZodBoolean>;
61
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
63
+ channelId: z.ZodString;
64
+ externalCategoryId: z.ZodString;
65
+ }, z.core.$strip>>>>;
66
+ resourceRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
67
+ resourceType: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ResourceType>>>;
68
+ placement: z.ZodOptional<z.ZodObject<{
69
+ placementIntent: z.ZodObject<{
70
+ mode: z.ZodEnum<{
71
+ BEGINNING: "BEGINNING";
72
+ END: "END";
73
+ KEEP_CURRENT: "KEEP_CURRENT";
74
+ BEFORE_ITEM: "BEFORE_ITEM";
75
+ AFTER_ITEM: "AFTER_ITEM";
76
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
77
+ }>;
78
+ }, z.core.$strip>;
79
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
80
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
81
+ }, z.core.$strip>>;
82
+ }, z.core.$strip>;
83
+ /**
84
+ * Schema for updating an existing resource category.
85
+ * All fields optional except id.
86
+ */
87
+ export declare const UpdateResourceCategorySchema: z.ZodObject<{
88
+ displayOrder: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
89
+ metadata: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
90
+ name: z.ZodOptional<z.ZodString>;
91
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
92
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
93
+ locationId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
94
+ channelMappings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
95
+ channelId: z.ZodString;
96
+ externalCategoryId: z.ZodString;
97
+ }, z.core.$strip>>>>>;
98
+ resourceRevisionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
99
+ resourceType: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ResourceType>>>>;
100
+ placement: z.ZodOptional<z.ZodOptional<z.ZodObject<{
101
+ placementIntent: z.ZodObject<{
102
+ mode: z.ZodEnum<{
103
+ BEGINNING: "BEGINNING";
104
+ END: "END";
105
+ KEEP_CURRENT: "KEEP_CURRENT";
106
+ BEFORE_ITEM: "BEFORE_ITEM";
107
+ AFTER_ITEM: "AFTER_ITEM";
108
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
109
+ }>;
110
+ }, z.core.$strip>;
111
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
112
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
113
+ }, z.core.$strip>>>;
114
+ id: z.ZodString;
115
+ }, z.core.$strip>;
116
+ export type ResourceCategoryChannelMapping = z.infer<typeof ResourceCategoryChannelMappingSchema>;
117
+ export type ResourceCategory = z.infer<typeof ResourceCategorySchema>;
118
+ export type CreateResourceCategory = z.infer<typeof CreateResourceCategorySchema>;
119
+ export type UpdateResourceCategory = z.infer<typeof UpdateResourceCategorySchema>;
120
+ /**
121
+ * Resource category filter options.
122
+ * @interface ResourceCategoryFilters
123
+ */
124
+ export interface ResourceCategoryFilters {
125
+ /** Text search across category name and description */
126
+ search?: string;
127
+ /** Filter by business location ID */
128
+ locationId?: string;
129
+ /** Filter by resource types */
130
+ resourceType?: ResourceType[];
131
+ /** Filter by active status */
132
+ isActive?: boolean;
133
+ }
134
+ /**
135
+ * Resource category sorting options.
136
+ * @interface ResourceCategorySorting
137
+ */
138
+ export interface ResourceCategorySorting {
139
+ /** Field to sort by */
140
+ field: "name" | "displayOrder" | "createdAt";
141
+ /** Sort direction */
142
+ direction: "asc" | "desc";
143
+ }
144
+ /**
145
+ * Resource category query options.
146
+ * @interface ResourceCategoryQueryOptions
147
+ */
148
+ export interface ResourceCategoryQueryOptions {
149
+ /** Page number (1-indexed) */
150
+ page: number;
151
+ /** Items per page */
152
+ pageSize: number;
153
+ /** Optional filters */
154
+ filters?: ResourceCategoryFilters;
155
+ /** Optional sorting */
156
+ sorting?: ResourceCategorySorting;
157
+ }