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,713 @@
1
+ import { z } from "zod";
2
+ import { ResourceReservationDurationUnit, ResourceType } from "../../../type-definitions";
3
+ import { ServiceDepositStrategy } from "../../bookings.shared.schema";
4
+ import { type ResourceInstance } from "./reservation-resource-instance.schema";
5
+ /**
6
+ * @fileoverview Reservation resource schema definitions.
7
+ * @module business-mgt/reservation-mgt/resource
8
+ */
9
+ /**
10
+ * Resource channel mapping schema.
11
+ * Maps a reservation resource to an external platform resource ID.
12
+ *
13
+ * @typedef {Object} ResourceChannelMapping
14
+ * @property {string} channelId - Channel identifier
15
+ * @property {string} externalResourceId - External resource ID
16
+ */
17
+ export declare const ResourceChannelMappingSchema: z.ZodObject<{
18
+ channelId: z.ZodString;
19
+ externalResourceId: z.ZodString;
20
+ }, z.core.$strip>;
21
+ /**
22
+ * Capacity range schema.
23
+ * Used by table resources that support a party size range.
24
+ *
25
+ * @typedef {Object} ResourceCapacityRange
26
+ * @property {string} kind - Capacity mode discriminator
27
+ * @property {number} min - Minimum supported party size
28
+ * @property {number} max - Maximum supported party size
29
+ */
30
+ export declare const ResourceCapacityRangeSchema: z.ZodObject<{
31
+ kind: z.ZodLiteral<"range">;
32
+ min: z.ZodNumber;
33
+ max: z.ZodNumber;
34
+ }, z.core.$strip>;
35
+ /**
36
+ * Occupancy capacity schema.
37
+ * Used by room resources with standard and maximum occupancy.
38
+ *
39
+ * @typedef {Object} ResourceCapacityOccupancy
40
+ * @property {string} kind - Capacity mode discriminator
41
+ * @property {number} standard - Standard occupancy
42
+ * @property {number} max - Maximum occupancy
43
+ * @property {number} [extraFee] - Optional fee above standard occupancy
44
+ */
45
+ export declare const ResourceCapacityOccupancySchema: z.ZodObject<{
46
+ kind: z.ZodLiteral<"occupancy">;
47
+ standard: z.ZodNumber;
48
+ max: z.ZodNumber;
49
+ extraFee: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
50
+ }, z.core.$strip>;
51
+ /**
52
+ * Single capacity schema.
53
+ * Used by rental resources that represent one reservable unit at a time.
54
+ *
55
+ * @typedef {Object} ResourceCapacitySingle
56
+ * @property {string} kind - Capacity mode discriminator
57
+ * @property {number} value - Single capacity value
58
+ * @property {number} [weightLimit] - Optional weight limit
59
+ * @property {string} [skillLevel] - Optional skill level requirement
60
+ */
61
+ export declare const ResourceCapacitySingleSchema: z.ZodObject<{
62
+ kind: z.ZodLiteral<"single">;
63
+ value: z.ZodNumber;
64
+ weightLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
65
+ skillLevel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ }, z.core.$strip>;
67
+ /**
68
+ * Resource capacity schema.
69
+ * Discriminated union of mode-specific reservation capacity models.
70
+ *
71
+ * @typedef {ResourceCapacityRange|ResourceCapacityOccupancy|ResourceCapacitySingle} ResourceCapacity
72
+ */
73
+ export declare const ResourceCapacitySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
74
+ kind: z.ZodLiteral<"range">;
75
+ min: z.ZodNumber;
76
+ max: z.ZodNumber;
77
+ }, z.core.$strip>, z.ZodObject<{
78
+ kind: z.ZodLiteral<"occupancy">;
79
+ standard: z.ZodNumber;
80
+ max: z.ZodNumber;
81
+ extraFee: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ kind: z.ZodLiteral<"single">;
84
+ value: z.ZodNumber;
85
+ weightLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
86
+ skillLevel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
87
+ }, z.core.$strip>], "kind">;
88
+ /**
89
+ * No-pricing strategy schema.
90
+ * Used for resources that do not quote pricing during reservation.
91
+ *
92
+ * @typedef {Object} ResourcePricingNone
93
+ * @property {string} kind - Pricing mode discriminator
94
+ * @property {string} [holdPolicy] - Optional hold or cancellation policy
95
+ */
96
+ export declare const ResourcePricingNoneSchema: z.ZodObject<{
97
+ kind: z.ZodLiteral<"none">;
98
+ holdPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
+ }, z.core.$strip>;
100
+ /**
101
+ * Day-of-week pricing strategy schema.
102
+ * Used for nightly or daily resources with weekday-specific rates.
103
+ *
104
+ * @typedef {Object} ResourcePricingDayOfWeek
105
+ * @property {string} kind - Pricing mode discriminator
106
+ * @property {Object} rates - Per-day pricing by weekday
107
+ */
108
+ export declare const ResourcePricingDayOfWeekSchema: z.ZodObject<{
109
+ kind: z.ZodLiteral<"dayOfWeek">;
110
+ rates: z.ZodObject<{
111
+ mon: z.ZodNumber;
112
+ tue: z.ZodNumber;
113
+ wed: z.ZodNumber;
114
+ thu: z.ZodNumber;
115
+ fri: z.ZodNumber;
116
+ sat: z.ZodNumber;
117
+ sun: z.ZodNumber;
118
+ }, z.core.$strip>;
119
+ }, z.core.$strip>;
120
+ /**
121
+ * Resource pricing tier schema.
122
+ * Defines one tier in a tiered reservation pricing strategy.
123
+ *
124
+ * @typedef {Object} ResourcePricingTier
125
+ * @property {number} from - Tier start quantity or duration
126
+ * @property {number} [to] - Tier end quantity or duration
127
+ * @property {number} price - Tier price
128
+ */
129
+ export declare const ResourcePricingTierSchema: z.ZodObject<{
130
+ from: z.ZodNumber;
131
+ to: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
132
+ price: z.ZodNumber;
133
+ }, z.core.$strip>;
134
+ /**
135
+ * Tiered pricing strategy schema.
136
+ * Used for rentals or resources priced by duration or quantity bands.
137
+ *
138
+ * @typedef {Object} ResourcePricingTiered
139
+ * @property {string} kind - Pricing mode discriminator
140
+ * @property {ResourcePricingTier[]} tiers - Pricing tiers
141
+ */
142
+ export declare const ResourcePricingTieredSchema: z.ZodObject<{
143
+ kind: z.ZodLiteral<"tiered">;
144
+ tiers: z.ZodArray<z.ZodObject<{
145
+ from: z.ZodNumber;
146
+ to: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
147
+ price: z.ZodNumber;
148
+ }, z.core.$strip>>;
149
+ }, z.core.$strip>;
150
+ /**
151
+ * Resource pricing strategy schema.
152
+ * Discriminated union of supported reservation pricing models.
153
+ *
154
+ * @typedef {ResourcePricingNone|ResourcePricingDayOfWeek|ResourcePricingTiered} ResourcePricingStrategy
155
+ */
156
+ export declare const ResourcePricingStrategySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
157
+ kind: z.ZodLiteral<"none">;
158
+ holdPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
159
+ }, z.core.$strip>, z.ZodObject<{
160
+ kind: z.ZodLiteral<"dayOfWeek">;
161
+ rates: z.ZodObject<{
162
+ mon: z.ZodNumber;
163
+ tue: z.ZodNumber;
164
+ wed: z.ZodNumber;
165
+ thu: z.ZodNumber;
166
+ fri: z.ZodNumber;
167
+ sat: z.ZodNumber;
168
+ sun: z.ZodNumber;
169
+ }, z.core.$strip>;
170
+ }, z.core.$strip>, z.ZodObject<{
171
+ kind: z.ZodLiteral<"tiered">;
172
+ tiers: z.ZodArray<z.ZodObject<{
173
+ from: z.ZodNumber;
174
+ to: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
175
+ price: z.ZodNumber;
176
+ }, z.core.$strip>>;
177
+ }, z.core.$strip>], "kind">;
178
+ /**
179
+ * Resource attribute schema.
180
+ * Stores flexible key/value attributes for resource catalog filtering and integrations.
181
+ *
182
+ * @typedef {Object} ResourceAttribute
183
+ * @property {string} key - Attribute key
184
+ * @property {string} value - Attribute value
185
+ */
186
+ export declare const ResourceAttributeSchema: z.ZodObject<{
187
+ key: z.ZodString;
188
+ value: z.ZodString;
189
+ }, z.core.$strip>;
190
+ /**
191
+ * Checklist template item schema.
192
+ * Defines a pickup or return inspection item used by rental reservations.
193
+ *
194
+ * @typedef {Object} ChecklistTemplateItem
195
+ * @property {string} id - Checklist item ID
196
+ * @property {string} label - Staff-facing checklist item label
197
+ * @property {boolean} required - Whether this item is required
198
+ * @property {string} phase - Pickup, return, or both
199
+ */
200
+ export declare const ChecklistTemplateItemSchema: z.ZodObject<{
201
+ id: z.ZodString;
202
+ label: z.ZodString;
203
+ required: z.ZodDefault<z.ZodBoolean>;
204
+ phase: z.ZodDefault<z.ZodEnum<{
205
+ pickup: "pickup";
206
+ both: "both";
207
+ return: "return";
208
+ }>>;
209
+ }, z.core.$strip>;
210
+ export type ChecklistTemplateItem = z.infer<typeof ChecklistTemplateItemSchema>;
211
+ /**
212
+ * Resource schema.
213
+ * Defines a reservable resource category such as a table type, room type, or rental item type.
214
+ *
215
+ * @typedef {Object} Resource
216
+ * @property {string} [resourceRevisionId] - Version control for resource changes
217
+ * @property {string} [locationId] - Business location where the resource applies
218
+ * @property {ResourceType} resourceType - Reservation resource type
219
+ * @property {string} [categoryId] - Resource category ID
220
+ * @property {string} name - Resource display name
221
+ * @property {string} [description] - Resource description
222
+ * @property {string[]} [imageUrls] - Public image URLs
223
+ * @property {number} [capacity] - Simple maximum capacity
224
+ * @property {Object} [capacityConfig] - Mode-specific capacity configuration
225
+ * @property {boolean} isAvailable - Whether the resource is available
226
+ * @property {ResourceChannelMapping[]} [channelMappings] - Per-channel resource mappings
227
+ * @property {string} [location] - Physical location label
228
+ * @property {string[]} amenities - Resource amenities
229
+ * @property {string[]} [instances] - Physical resource instance IDs
230
+ * @property {Object} [pricing] - Mode-specific pricing strategy
231
+ * @property {number} [turnoverMinutes] - Reset time between reservations
232
+ * @property {ResourceAttribute[]} [attributes] - Flexible resource attributes
233
+ * @property {Object} [bookingRules] - Booking rules shared with reservation workflows
234
+ * @property {ServiceDepositStrategy} [depositStrategy] - Deposit strategy
235
+ * @property {number} [reservationDuration] - Default reservation duration
236
+ * @property {ResourceReservationDurationUnit} [reservationDurationUnit] - Unit for the default duration
237
+ * @property {ChecklistTemplateItem[]} checklistTemplate - Rental pickup/return checklist items
238
+ * @property {string[]} applicableTierIds - Applicable rental tier IDs
239
+ * @property {number} [displayOrder] - Display order in resource listings
240
+ * @property {Object} [metadata] - Additional resource metadata
241
+ */
242
+ export declare const ResourceSchema: z.ZodObject<{
243
+ id: z.ZodString;
244
+ createdAt: z.ZodOptional<z.ZodNumber>;
245
+ updatedAt: z.ZodOptional<z.ZodNumber>;
246
+ resourceRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
247
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
248
+ resourceType: z.ZodEnum<typeof ResourceType>;
249
+ categoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
250
+ name: z.ZodString;
251
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
252
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
253
+ capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
254
+ capacityConfig: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
255
+ kind: z.ZodLiteral<"range">;
256
+ min: z.ZodNumber;
257
+ max: z.ZodNumber;
258
+ }, z.core.$strip>, z.ZodObject<{
259
+ kind: z.ZodLiteral<"occupancy">;
260
+ standard: z.ZodNumber;
261
+ max: z.ZodNumber;
262
+ extraFee: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
263
+ }, z.core.$strip>, z.ZodObject<{
264
+ kind: z.ZodLiteral<"single">;
265
+ value: z.ZodNumber;
266
+ weightLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
267
+ skillLevel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
268
+ }, z.core.$strip>], "kind">>>;
269
+ isAvailable: z.ZodDefault<z.ZodBoolean>;
270
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
271
+ channelId: z.ZodString;
272
+ externalResourceId: z.ZodString;
273
+ }, z.core.$strip>>>>;
274
+ location: z.ZodOptional<z.ZodString>;
275
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
276
+ instances: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
277
+ pricing: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
278
+ kind: z.ZodLiteral<"none">;
279
+ holdPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
+ }, z.core.$strip>, z.ZodObject<{
281
+ kind: z.ZodLiteral<"dayOfWeek">;
282
+ rates: z.ZodObject<{
283
+ mon: z.ZodNumber;
284
+ tue: z.ZodNumber;
285
+ wed: z.ZodNumber;
286
+ thu: z.ZodNumber;
287
+ fri: z.ZodNumber;
288
+ sat: z.ZodNumber;
289
+ sun: z.ZodNumber;
290
+ }, z.core.$strip>;
291
+ }, z.core.$strip>, z.ZodObject<{
292
+ kind: z.ZodLiteral<"tiered">;
293
+ tiers: z.ZodArray<z.ZodObject<{
294
+ from: z.ZodNumber;
295
+ to: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
296
+ price: z.ZodNumber;
297
+ }, z.core.$strip>>;
298
+ }, z.core.$strip>], "kind">>>;
299
+ turnoverMinutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
300
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
301
+ key: z.ZodString;
302
+ value: z.ZodString;
303
+ }, z.core.$strip>>>>;
304
+ bookingRules: z.ZodOptional<z.ZodNullable<z.ZodObject<{
305
+ onlineEnabled: z.ZodDefault<z.ZodBoolean>;
306
+ existingOnly: z.ZodDefault<z.ZodBoolean>;
307
+ requiresConsult: z.ZodDefault<z.ZodBoolean>;
308
+ maxDaysOut: z.ZodDefault<z.ZodNumber>;
309
+ minNoticeHours: z.ZodDefault<z.ZodNumber>;
310
+ lateCancelHours: z.ZodDefault<z.ZodNumber>;
311
+ }, z.core.$strip>>>;
312
+ depositStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ServiceDepositStrategy>>>;
313
+ reservationDuration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
314
+ reservationDurationUnit: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof ResourceReservationDurationUnit>>>;
315
+ checklistTemplate: z.ZodDefault<z.ZodArray<z.ZodObject<{
316
+ id: z.ZodString;
317
+ label: z.ZodString;
318
+ required: z.ZodDefault<z.ZodBoolean>;
319
+ phase: z.ZodDefault<z.ZodEnum<{
320
+ pickup: "pickup";
321
+ both: "both";
322
+ return: "return";
323
+ }>>;
324
+ }, z.core.$strip>>>;
325
+ applicableTierIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
326
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
327
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
328
+ }, z.core.$strip>;
329
+ /**
330
+ * Schema for creating a new reservation resource.
331
+ *
332
+ * @remarks
333
+ * A reservation resource must be created with at least one instance, except for
334
+ * table resources, where instances are optional at creation time.
335
+ */
336
+ export declare const CreateResourceSchema: z.ZodObject<{
337
+ capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
338
+ categoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
339
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
340
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
341
+ name: z.ZodString;
342
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
343
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
344
+ isAvailable: z.ZodDefault<z.ZodBoolean>;
345
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
346
+ channelId: z.ZodString;
347
+ externalResourceId: z.ZodString;
348
+ }, z.core.$strip>>>>;
349
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
350
+ pricing: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
351
+ kind: z.ZodLiteral<"none">;
352
+ holdPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
353
+ }, z.core.$strip>, z.ZodObject<{
354
+ kind: z.ZodLiteral<"dayOfWeek">;
355
+ rates: z.ZodObject<{
356
+ mon: z.ZodNumber;
357
+ tue: z.ZodNumber;
358
+ wed: z.ZodNumber;
359
+ thu: z.ZodNumber;
360
+ fri: z.ZodNumber;
361
+ sat: z.ZodNumber;
362
+ sun: z.ZodNumber;
363
+ }, z.core.$strip>;
364
+ }, z.core.$strip>, z.ZodObject<{
365
+ kind: z.ZodLiteral<"tiered">;
366
+ tiers: z.ZodArray<z.ZodObject<{
367
+ from: z.ZodNumber;
368
+ to: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
369
+ price: z.ZodNumber;
370
+ }, z.core.$strip>>;
371
+ }, z.core.$strip>], "kind">>>;
372
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
373
+ key: z.ZodString;
374
+ value: z.ZodString;
375
+ }, z.core.$strip>>>>;
376
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
377
+ resourceRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
378
+ resourceType: z.ZodEnum<typeof ResourceType>;
379
+ capacityConfig: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
380
+ kind: z.ZodLiteral<"range">;
381
+ min: z.ZodNumber;
382
+ max: z.ZodNumber;
383
+ }, z.core.$strip>, z.ZodObject<{
384
+ kind: z.ZodLiteral<"occupancy">;
385
+ standard: z.ZodNumber;
386
+ max: z.ZodNumber;
387
+ extraFee: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
388
+ }, z.core.$strip>, z.ZodObject<{
389
+ kind: z.ZodLiteral<"single">;
390
+ value: z.ZodNumber;
391
+ weightLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
392
+ skillLevel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
393
+ }, z.core.$strip>], "kind">>>;
394
+ location: z.ZodOptional<z.ZodString>;
395
+ turnoverMinutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
396
+ bookingRules: z.ZodOptional<z.ZodNullable<z.ZodObject<{
397
+ onlineEnabled: z.ZodDefault<z.ZodBoolean>;
398
+ existingOnly: z.ZodDefault<z.ZodBoolean>;
399
+ requiresConsult: z.ZodDefault<z.ZodBoolean>;
400
+ maxDaysOut: z.ZodDefault<z.ZodNumber>;
401
+ minNoticeHours: z.ZodDefault<z.ZodNumber>;
402
+ lateCancelHours: z.ZodDefault<z.ZodNumber>;
403
+ }, z.core.$strip>>>;
404
+ depositStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ServiceDepositStrategy>>>;
405
+ reservationDuration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
406
+ reservationDurationUnit: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof ResourceReservationDurationUnit>>>;
407
+ checklistTemplate: z.ZodDefault<z.ZodArray<z.ZodObject<{
408
+ id: z.ZodString;
409
+ label: z.ZodString;
410
+ required: z.ZodDefault<z.ZodBoolean>;
411
+ phase: z.ZodDefault<z.ZodEnum<{
412
+ pickup: "pickup";
413
+ both: "both";
414
+ return: "return";
415
+ }>>;
416
+ }, z.core.$strip>>>;
417
+ applicableTierIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
418
+ placement: z.ZodOptional<z.ZodObject<{
419
+ placementIntent: z.ZodObject<{
420
+ mode: z.ZodEnum<{
421
+ BEGINNING: "BEGINNING";
422
+ END: "END";
423
+ KEEP_CURRENT: "KEEP_CURRENT";
424
+ BEFORE_ITEM: "BEFORE_ITEM";
425
+ AFTER_ITEM: "AFTER_ITEM";
426
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
427
+ }>;
428
+ }, z.core.$strip>;
429
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
430
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
431
+ }, z.core.$strip>>;
432
+ instances: z.ZodDefault<z.ZodArray<z.ZodObject<{
433
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
434
+ status: z.ZodDefault<z.ZodEnum<typeof import("./reservation-resource-instance.schema").ResourceInstanceStatus>>;
435
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
436
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
437
+ isAvailable: z.ZodDefault<z.ZodBoolean>;
438
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
439
+ key: z.ZodString;
440
+ value: z.ZodString;
441
+ }, z.core.$strip>>>>;
442
+ resourceRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
443
+ }, z.core.$strip>>>;
444
+ }, z.core.$strip>;
445
+ /**
446
+ * Schema for updating an existing reservation resource.
447
+ * All fields optional except id. The create-time instance requirement is not enforced on update.
448
+ */
449
+ export declare const UpdateResourceSchema: z.ZodObject<{
450
+ capacity: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
451
+ categoryId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
452
+ displayOrder: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
453
+ metadata: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>>;
454
+ name: z.ZodOptional<z.ZodString>;
455
+ description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
456
+ locationId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
457
+ isAvailable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
458
+ channelMappings: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
459
+ channelId: z.ZodString;
460
+ externalResourceId: z.ZodString;
461
+ }, z.core.$strip>>>>>;
462
+ imageUrls: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>>;
463
+ pricing: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
464
+ kind: z.ZodLiteral<"none">;
465
+ holdPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
466
+ }, z.core.$strip>, z.ZodObject<{
467
+ kind: z.ZodLiteral<"dayOfWeek">;
468
+ rates: z.ZodObject<{
469
+ mon: z.ZodNumber;
470
+ tue: z.ZodNumber;
471
+ wed: z.ZodNumber;
472
+ thu: z.ZodNumber;
473
+ fri: z.ZodNumber;
474
+ sat: z.ZodNumber;
475
+ sun: z.ZodNumber;
476
+ }, z.core.$strip>;
477
+ }, z.core.$strip>, z.ZodObject<{
478
+ kind: z.ZodLiteral<"tiered">;
479
+ tiers: z.ZodArray<z.ZodObject<{
480
+ from: z.ZodNumber;
481
+ to: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
482
+ price: z.ZodNumber;
483
+ }, z.core.$strip>>;
484
+ }, z.core.$strip>], "kind">>>>;
485
+ attributes: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
486
+ key: z.ZodString;
487
+ value: z.ZodString;
488
+ }, z.core.$strip>>>>>;
489
+ amenities: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
490
+ resourceRevisionId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
491
+ resourceType: z.ZodOptional<z.ZodEnum<typeof ResourceType>>;
492
+ capacityConfig: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
493
+ kind: z.ZodLiteral<"range">;
494
+ min: z.ZodNumber;
495
+ max: z.ZodNumber;
496
+ }, z.core.$strip>, z.ZodObject<{
497
+ kind: z.ZodLiteral<"occupancy">;
498
+ standard: z.ZodNumber;
499
+ max: z.ZodNumber;
500
+ extraFee: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
501
+ }, z.core.$strip>, z.ZodObject<{
502
+ kind: z.ZodLiteral<"single">;
503
+ value: z.ZodNumber;
504
+ weightLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
505
+ skillLevel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
506
+ }, z.core.$strip>], "kind">>>>;
507
+ location: z.ZodOptional<z.ZodOptional<z.ZodString>>;
508
+ turnoverMinutes: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
509
+ bookingRules: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
510
+ onlineEnabled: z.ZodDefault<z.ZodBoolean>;
511
+ existingOnly: z.ZodDefault<z.ZodBoolean>;
512
+ requiresConsult: z.ZodDefault<z.ZodBoolean>;
513
+ maxDaysOut: z.ZodDefault<z.ZodNumber>;
514
+ minNoticeHours: z.ZodDefault<z.ZodNumber>;
515
+ lateCancelHours: z.ZodDefault<z.ZodNumber>;
516
+ }, z.core.$strip>>>>;
517
+ depositStrategy: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ServiceDepositStrategy>>>>;
518
+ reservationDuration: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
519
+ reservationDurationUnit: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof ResourceReservationDurationUnit>>>>;
520
+ checklistTemplate: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
521
+ id: z.ZodString;
522
+ label: z.ZodString;
523
+ required: z.ZodDefault<z.ZodBoolean>;
524
+ phase: z.ZodDefault<z.ZodEnum<{
525
+ pickup: "pickup";
526
+ both: "both";
527
+ return: "return";
528
+ }>>;
529
+ }, z.core.$strip>>>>;
530
+ applicableTierIds: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
531
+ placement: z.ZodOptional<z.ZodOptional<z.ZodObject<{
532
+ placementIntent: z.ZodObject<{
533
+ mode: z.ZodEnum<{
534
+ BEGINNING: "BEGINNING";
535
+ END: "END";
536
+ KEEP_CURRENT: "KEEP_CURRENT";
537
+ BEFORE_ITEM: "BEFORE_ITEM";
538
+ AFTER_ITEM: "AFTER_ITEM";
539
+ ABSOLUTE_INDEX: "ABSOLUTE_INDEX";
540
+ }>;
541
+ }, z.core.$strip>;
542
+ anchorItemId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
543
+ absoluteIndex: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
544
+ }, z.core.$strip>>>;
545
+ instances: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
546
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
547
+ status: z.ZodDefault<z.ZodEnum<typeof import("./reservation-resource-instance.schema").ResourceInstanceStatus>>;
548
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
549
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
550
+ isAvailable: z.ZodDefault<z.ZodBoolean>;
551
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
552
+ key: z.ZodString;
553
+ value: z.ZodString;
554
+ }, z.core.$strip>>>>;
555
+ resourceRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
556
+ }, z.core.$strip>>>>;
557
+ id: z.ZodString;
558
+ }, z.core.$strip>;
559
+ export type ResourceChannelMapping = z.infer<typeof ResourceChannelMappingSchema>;
560
+ export type Resource = z.infer<typeof ResourceSchema>;
561
+ export type CreateResource = z.infer<typeof CreateResourceSchema>;
562
+ export type UpdateResource = z.infer<typeof UpdateResourceSchema>;
563
+ export type ResourceCapacity = z.infer<typeof ResourceCapacitySchema>;
564
+ export type ResourcePricingStrategy = z.infer<typeof ResourcePricingStrategySchema>;
565
+ export type ResourceInstanceRef = Pick<ResourceInstance, "id">["id"];
566
+ /**
567
+ * Business resource catalog schema.
568
+ * Represents the complete reservation resource catalog for a business context.
569
+ *
570
+ * @typedef {Resource[]} BusinessResourceCatalog
571
+ */
572
+ export declare const BusinessResourceCatalogSchema: z.ZodArray<z.ZodObject<{
573
+ id: z.ZodString;
574
+ createdAt: z.ZodOptional<z.ZodNumber>;
575
+ updatedAt: z.ZodOptional<z.ZodNumber>;
576
+ resourceRevisionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
577
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
578
+ resourceType: z.ZodEnum<typeof ResourceType>;
579
+ categoryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
580
+ name: z.ZodString;
581
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
582
+ imageUrls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodURL>>>;
583
+ capacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
584
+ capacityConfig: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
585
+ kind: z.ZodLiteral<"range">;
586
+ min: z.ZodNumber;
587
+ max: z.ZodNumber;
588
+ }, z.core.$strip>, z.ZodObject<{
589
+ kind: z.ZodLiteral<"occupancy">;
590
+ standard: z.ZodNumber;
591
+ max: z.ZodNumber;
592
+ extraFee: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
593
+ }, z.core.$strip>, z.ZodObject<{
594
+ kind: z.ZodLiteral<"single">;
595
+ value: z.ZodNumber;
596
+ weightLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
597
+ skillLevel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
598
+ }, z.core.$strip>], "kind">>>;
599
+ isAvailable: z.ZodDefault<z.ZodBoolean>;
600
+ channelMappings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
601
+ channelId: z.ZodString;
602
+ externalResourceId: z.ZodString;
603
+ }, z.core.$strip>>>>;
604
+ location: z.ZodOptional<z.ZodString>;
605
+ amenities: z.ZodDefault<z.ZodArray<z.ZodString>>;
606
+ instances: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
607
+ pricing: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
608
+ kind: z.ZodLiteral<"none">;
609
+ holdPolicy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
610
+ }, z.core.$strip>, z.ZodObject<{
611
+ kind: z.ZodLiteral<"dayOfWeek">;
612
+ rates: z.ZodObject<{
613
+ mon: z.ZodNumber;
614
+ tue: z.ZodNumber;
615
+ wed: z.ZodNumber;
616
+ thu: z.ZodNumber;
617
+ fri: z.ZodNumber;
618
+ sat: z.ZodNumber;
619
+ sun: z.ZodNumber;
620
+ }, z.core.$strip>;
621
+ }, z.core.$strip>, z.ZodObject<{
622
+ kind: z.ZodLiteral<"tiered">;
623
+ tiers: z.ZodArray<z.ZodObject<{
624
+ from: z.ZodNumber;
625
+ to: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
626
+ price: z.ZodNumber;
627
+ }, z.core.$strip>>;
628
+ }, z.core.$strip>], "kind">>>;
629
+ turnoverMinutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
630
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
631
+ key: z.ZodString;
632
+ value: z.ZodString;
633
+ }, z.core.$strip>>>>;
634
+ bookingRules: z.ZodOptional<z.ZodNullable<z.ZodObject<{
635
+ onlineEnabled: z.ZodDefault<z.ZodBoolean>;
636
+ existingOnly: z.ZodDefault<z.ZodBoolean>;
637
+ requiresConsult: z.ZodDefault<z.ZodBoolean>;
638
+ maxDaysOut: z.ZodDefault<z.ZodNumber>;
639
+ minNoticeHours: z.ZodDefault<z.ZodNumber>;
640
+ lateCancelHours: z.ZodDefault<z.ZodNumber>;
641
+ }, z.core.$strip>>>;
642
+ depositStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<typeof ServiceDepositStrategy>>>;
643
+ reservationDuration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
644
+ reservationDurationUnit: z.ZodNullable<z.ZodOptional<z.ZodEnum<typeof ResourceReservationDurationUnit>>>;
645
+ checklistTemplate: z.ZodDefault<z.ZodArray<z.ZodObject<{
646
+ id: z.ZodString;
647
+ label: z.ZodString;
648
+ required: z.ZodDefault<z.ZodBoolean>;
649
+ phase: z.ZodDefault<z.ZodEnum<{
650
+ pickup: "pickup";
651
+ both: "both";
652
+ return: "return";
653
+ }>>;
654
+ }, z.core.$strip>>>;
655
+ applicableTierIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
656
+ displayOrder: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
657
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
658
+ }, z.core.$strip>>;
659
+ export type BusinessResourceCatalog = z.infer<typeof BusinessResourceCatalogSchema>;
660
+ /**
661
+ * Resource filter options.
662
+ * @interface ResourceFilters
663
+ */
664
+ export interface ResourceFilters {
665
+ /** Text search across resource name and description */
666
+ search?: string;
667
+ /** Filter by business location ID */
668
+ locationId?: string;
669
+ /** Filter by resource types */
670
+ resourceType?: ResourceType[];
671
+ /** Filter by resource category ID */
672
+ categoryId?: string;
673
+ /** Filter by availability status */
674
+ isAvailable?: boolean;
675
+ /** Filter by supported capacity range */
676
+ capacityRange?: {
677
+ min?: number;
678
+ max?: number;
679
+ };
680
+ /** Filter by physical location label */
681
+ location?: string;
682
+ /** Filter by required amenities */
683
+ amenities?: string[];
684
+ /** Filter by pricing range */
685
+ priceRange?: {
686
+ min?: number;
687
+ max?: number;
688
+ };
689
+ }
690
+ /**
691
+ * Resource sorting options.
692
+ * @interface ResourceSorting
693
+ */
694
+ export interface ResourceSorting {
695
+ /** Field to sort by */
696
+ field: "name" | "capacity" | "createdAt";
697
+ /** Sort direction */
698
+ direction: "asc" | "desc";
699
+ }
700
+ /**
701
+ * Resource query options.
702
+ * @interface ResourceQueryOptions
703
+ */
704
+ export interface ResourceQueryOptions {
705
+ /** Page number (1-indexed) */
706
+ page: number;
707
+ /** Items per page */
708
+ pageSize: number;
709
+ /** Optional filters */
710
+ filters?: ResourceFilters;
711
+ /** Optional sorting */
712
+ sorting?: ResourceSorting;
713
+ }