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,229 @@
1
+ import { z } from "zod";
2
+ import { ReservationSettingType } from "../../type-definitions";
3
+ /**
4
+ * @fileoverview Reservation settings schema definitions.
5
+ * @module business-mgt/reservation-mgt/reservation-settings
6
+ */
7
+ /**
8
+ * Rental tier definition schema.
9
+ * Defines an available rental duration tier for reservation pricing and slot generation.
10
+ *
11
+ * @typedef {Object} RentalTierDefinition
12
+ * @property {string} id - Tier ID
13
+ * @property {string} name - Display name for the tier
14
+ * @property {number} durationMinutes - Duration in minutes
15
+ * @property {number} sortOrder - Display order for tier lists
16
+ */
17
+ export declare const RentalTierDefinitionSchema: z.ZodObject<{
18
+ id: z.ZodString;
19
+ name: z.ZodString;
20
+ durationMinutes: z.ZodNumber;
21
+ sortOrder: z.ZodDefault<z.ZodNumber>;
22
+ }, z.core.$strip>;
23
+ /**
24
+ * Table reservation settings schema.
25
+ * Configures slot duration, turnover, party limits, and booking window for table reservations.
26
+ *
27
+ * @typedef {Object} TableReservationSettings
28
+ * @property {ReservationSettingType} settingType - Table reservation mode
29
+ * @property {number} defaultDurationMinutes - Default table reservation duration
30
+ * @property {number} turnoverMinutes - Buffer between reservations
31
+ * @property {number} slotIntervalMinutes - Slot interval for availability generation
32
+ * @property {number} [maxPartySize] - Maximum party size allowed
33
+ * @property {number} advanceBookingDays - Number of days ahead that guests can book
34
+ */
35
+ export declare const TableReservationSettingsSchema: z.ZodObject<{
36
+ settingType: z.ZodDefault<z.ZodEnum<typeof ReservationSettingType>>;
37
+ defaultDurationMinutes: z.ZodDefault<z.ZodNumber>;
38
+ turnoverMinutes: z.ZodDefault<z.ZodNumber>;
39
+ slotIntervalMinutes: z.ZodDefault<z.ZodNumber>;
40
+ maxPartySize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
41
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
42
+ }, z.core.$strip>;
43
+ /**
44
+ * Room reservation settings schema.
45
+ * Configures stay length, check-in/check-out defaults, and booking window for room reservations.
46
+ *
47
+ * @typedef {Object} RoomReservationSettings
48
+ * @property {string} checkInTime - Default check-in time in HH:mm format
49
+ * @property {string} checkOutTime - Default check-out time in HH:mm format
50
+ * @property {number} minStayNights - Minimum nights per booking
51
+ * @property {number} [maxStayNights] - Maximum nights per booking
52
+ * @property {number} advanceBookingDays - Number of days ahead that guests can book
53
+ */
54
+ export declare const RoomReservationSettingsSchema: z.ZodObject<{
55
+ checkInTime: z.ZodDefault<z.ZodString>;
56
+ checkOutTime: z.ZodDefault<z.ZodString>;
57
+ minStayNights: z.ZodDefault<z.ZodNumber>;
58
+ maxStayNights: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
59
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
60
+ }, z.core.$strip>;
61
+ /**
62
+ * Rental reservation settings schema.
63
+ * Configures rental tiers, waiver requirements, identity verification, and deposits.
64
+ *
65
+ * @typedef {Object} RentalReservationSettings
66
+ * @property {RentalTierDefinition[]} tiers - Available rental duration tiers
67
+ * @property {boolean} requireWaiver - Whether waiver signature is required
68
+ * @property {boolean} requireIdVerification - Whether identity verification is required
69
+ * @property {number} [defaultDepositPercent] - Default security deposit percentage
70
+ */
71
+ export declare const RentalReservationSettingsSchema: z.ZodObject<{
72
+ tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
73
+ id: z.ZodString;
74
+ name: z.ZodString;
75
+ durationMinutes: z.ZodNumber;
76
+ sortOrder: z.ZodDefault<z.ZodNumber>;
77
+ }, z.core.$strip>>>;
78
+ requireWaiver: z.ZodDefault<z.ZodBoolean>;
79
+ requireIdVerification: z.ZodDefault<z.ZodBoolean>;
80
+ defaultDepositPercent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
81
+ }, z.core.$strip>;
82
+ /**
83
+ * Reservation settings schema.
84
+ * Stores location-level reservation configuration for table, room, and rental bookings.
85
+ *
86
+ * @typedef {Object} ReservationSettings
87
+ * @property {string} [locationId] - Business location for these settings
88
+ * @property {TableReservationSettings} [table] - Table reservation settings
89
+ * @property {RoomReservationSettings} [room] - Room reservation settings
90
+ * @property {RentalReservationSettings} [rental] - Rental reservation settings
91
+ * @property {boolean} supportTableReservations - Whether table reservations are supported
92
+ * @property {boolean} supportRoomReservations - Whether room reservations are supported
93
+ * @property {boolean} supportRentalReservations - Whether rental reservations are supported
94
+ */
95
+ export declare const ReservationSettingsSchema: z.ZodObject<{
96
+ id: z.ZodString;
97
+ createdAt: z.ZodOptional<z.ZodNumber>;
98
+ updatedAt: z.ZodOptional<z.ZodNumber>;
99
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
100
+ table: z.ZodOptional<z.ZodNullable<z.ZodObject<{
101
+ settingType: z.ZodDefault<z.ZodEnum<typeof ReservationSettingType>>;
102
+ defaultDurationMinutes: z.ZodDefault<z.ZodNumber>;
103
+ turnoverMinutes: z.ZodDefault<z.ZodNumber>;
104
+ slotIntervalMinutes: z.ZodDefault<z.ZodNumber>;
105
+ maxPartySize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
106
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
107
+ }, z.core.$strip>>>;
108
+ room: z.ZodOptional<z.ZodNullable<z.ZodObject<{
109
+ checkInTime: z.ZodDefault<z.ZodString>;
110
+ checkOutTime: z.ZodDefault<z.ZodString>;
111
+ minStayNights: z.ZodDefault<z.ZodNumber>;
112
+ maxStayNights: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
113
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
114
+ }, z.core.$strip>>>;
115
+ rental: z.ZodOptional<z.ZodNullable<z.ZodObject<{
116
+ tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
117
+ id: z.ZodString;
118
+ name: z.ZodString;
119
+ durationMinutes: z.ZodNumber;
120
+ sortOrder: z.ZodDefault<z.ZodNumber>;
121
+ }, z.core.$strip>>>;
122
+ requireWaiver: z.ZodDefault<z.ZodBoolean>;
123
+ requireIdVerification: z.ZodDefault<z.ZodBoolean>;
124
+ defaultDepositPercent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
125
+ }, z.core.$strip>>>;
126
+ supportTableReservations: z.ZodDefault<z.ZodBoolean>;
127
+ supportRoomReservations: z.ZodDefault<z.ZodBoolean>;
128
+ supportRentalReservations: z.ZodDefault<z.ZodBoolean>;
129
+ }, z.core.$strip>;
130
+ /**
131
+ * Schema for creating reservation settings.
132
+ * Omits auto-generated fields.
133
+ */
134
+ export declare const CreateReservationSettingsSchema: z.ZodObject<{
135
+ table: z.ZodOptional<z.ZodNullable<z.ZodObject<{
136
+ settingType: z.ZodDefault<z.ZodEnum<typeof ReservationSettingType>>;
137
+ defaultDurationMinutes: z.ZodDefault<z.ZodNumber>;
138
+ turnoverMinutes: z.ZodDefault<z.ZodNumber>;
139
+ slotIntervalMinutes: z.ZodDefault<z.ZodNumber>;
140
+ maxPartySize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
141
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
142
+ }, z.core.$strip>>>;
143
+ room: z.ZodOptional<z.ZodNullable<z.ZodObject<{
144
+ checkInTime: z.ZodDefault<z.ZodString>;
145
+ checkOutTime: z.ZodDefault<z.ZodString>;
146
+ minStayNights: z.ZodDefault<z.ZodNumber>;
147
+ maxStayNights: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
148
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
149
+ }, z.core.$strip>>>;
150
+ rental: z.ZodOptional<z.ZodNullable<z.ZodObject<{
151
+ tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
152
+ id: z.ZodString;
153
+ name: z.ZodString;
154
+ durationMinutes: z.ZodNumber;
155
+ sortOrder: z.ZodDefault<z.ZodNumber>;
156
+ }, z.core.$strip>>>;
157
+ requireWaiver: z.ZodDefault<z.ZodBoolean>;
158
+ requireIdVerification: z.ZodDefault<z.ZodBoolean>;
159
+ defaultDepositPercent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
160
+ }, z.core.$strip>>>;
161
+ locationId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
162
+ supportTableReservations: z.ZodDefault<z.ZodBoolean>;
163
+ supportRoomReservations: z.ZodDefault<z.ZodBoolean>;
164
+ supportRentalReservations: z.ZodDefault<z.ZodBoolean>;
165
+ }, z.core.$strip>;
166
+ /**
167
+ * Schema for updating reservation settings.
168
+ * All fields optional except id.
169
+ */
170
+ export declare const UpdateReservationSettingsSchema: z.ZodObject<{
171
+ table: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
172
+ settingType: z.ZodDefault<z.ZodEnum<typeof ReservationSettingType>>;
173
+ defaultDurationMinutes: z.ZodDefault<z.ZodNumber>;
174
+ turnoverMinutes: z.ZodDefault<z.ZodNumber>;
175
+ slotIntervalMinutes: z.ZodDefault<z.ZodNumber>;
176
+ maxPartySize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
177
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
178
+ }, z.core.$strip>>>>;
179
+ room: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
180
+ checkInTime: z.ZodDefault<z.ZodString>;
181
+ checkOutTime: z.ZodDefault<z.ZodString>;
182
+ minStayNights: z.ZodDefault<z.ZodNumber>;
183
+ maxStayNights: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
184
+ advanceBookingDays: z.ZodDefault<z.ZodNumber>;
185
+ }, z.core.$strip>>>>;
186
+ rental: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
187
+ tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
188
+ id: z.ZodString;
189
+ name: z.ZodString;
190
+ durationMinutes: z.ZodNumber;
191
+ sortOrder: z.ZodDefault<z.ZodNumber>;
192
+ }, z.core.$strip>>>;
193
+ requireWaiver: z.ZodDefault<z.ZodBoolean>;
194
+ requireIdVerification: z.ZodDefault<z.ZodBoolean>;
195
+ defaultDepositPercent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
196
+ }, z.core.$strip>>>>;
197
+ locationId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
198
+ supportTableReservations: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
199
+ supportRoomReservations: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
200
+ supportRentalReservations: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
201
+ id: z.ZodString;
202
+ }, z.core.$strip>;
203
+ export type RentalTierDefinition = z.infer<typeof RentalTierDefinitionSchema>;
204
+ export type TableReservationSettings = z.infer<typeof TableReservationSettingsSchema>;
205
+ export type RoomReservationSettings = z.infer<typeof RoomReservationSettingsSchema>;
206
+ export type RentalReservationSettings = z.infer<typeof RentalReservationSettingsSchema>;
207
+ export type ReservationSettings = z.infer<typeof ReservationSettingsSchema>;
208
+ export type CreateReservationSettings = z.infer<typeof CreateReservationSettingsSchema>;
209
+ export type UpdateReservationSettings = z.infer<typeof UpdateReservationSettingsSchema>;
210
+ /**
211
+ * Reservation settings filter options.
212
+ * @interface ReservationSettingsFilters
213
+ */
214
+ export interface ReservationSettingsFilters {
215
+ /** Filter by business location ID */
216
+ locationId?: string;
217
+ }
218
+ /**
219
+ * Reservation settings query options.
220
+ * @interface ReservationSettingsQueryOptions
221
+ */
222
+ export interface ReservationSettingsQueryOptions {
223
+ /** Page number (1-indexed) */
224
+ page: number;
225
+ /** Items per page */
226
+ pageSize: number;
227
+ /** Optional filters */
228
+ filters?: ReservationSettingsFilters;
229
+ }
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateReservationSettingsSchema = exports.CreateReservationSettingsSchema = exports.ReservationSettingsSchema = exports.RentalReservationSettingsSchema = exports.RoomReservationSettingsSchema = exports.TableReservationSettingsSchema = exports.RentalTierDefinitionSchema = 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 Reservation settings schema definitions.
9
+ * @module business-mgt/reservation-mgt/reservation-settings
10
+ */
11
+ // ============================================================================
12
+ // SETTINGS DETAIL SCHEMAS
13
+ // ============================================================================
14
+ /**
15
+ * Rental tier definition schema.
16
+ * Defines an available rental duration tier for reservation pricing and slot generation.
17
+ *
18
+ * @typedef {Object} RentalTierDefinition
19
+ * @property {string} id - Tier ID
20
+ * @property {string} name - Display name for the tier
21
+ * @property {number} durationMinutes - Duration in minutes
22
+ * @property {number} sortOrder - Display order for tier lists
23
+ */
24
+ exports.RentalTierDefinitionSchema = zod_1.z.object({
25
+ id: zod_1.z.string().describe("Tier ID"),
26
+ name: zod_1.z.string().describe("Display name (e.g., 'Half Day', '2 Hours')"),
27
+ durationMinutes: zod_1.z.number().int().positive().describe("Duration in minutes"),
28
+ sortOrder: zod_1.z.number().int().nonnegative().default(0).describe("Display order"),
29
+ });
30
+ /**
31
+ * Table reservation settings schema.
32
+ * Configures slot duration, turnover, party limits, and booking window for table reservations.
33
+ *
34
+ * @typedef {Object} TableReservationSettings
35
+ * @property {ReservationSettingType} settingType - Table reservation mode
36
+ * @property {number} defaultDurationMinutes - Default table reservation duration
37
+ * @property {number} turnoverMinutes - Buffer between reservations
38
+ * @property {number} slotIntervalMinutes - Slot interval for availability generation
39
+ * @property {number} [maxPartySize] - Maximum party size allowed
40
+ * @property {number} advanceBookingDays - Number of days ahead that guests can book
41
+ */
42
+ exports.TableReservationSettingsSchema = zod_1.z.object({
43
+ settingType: zod_1.z.enum(type_definitions_1.ReservationSettingType).default(type_definitions_1.ReservationSettingType.CAPACITY).describe("Reservation mode: capacity-based or resource-specific"),
44
+ defaultDurationMinutes: zod_1.z.number().int().positive().default(90).describe("Default table reservation duration"),
45
+ turnoverMinutes: zod_1.z.number().int().nonnegative().default(15).describe("Buffer between reservations"),
46
+ slotIntervalMinutes: zod_1.z.number().int().positive().default(15).describe("Time intervals for available reservation slots"),
47
+ maxPartySize: zod_1.z.number().int().positive().nullable().optional().describe("Maximum party size allowed"),
48
+ advanceBookingDays: zod_1.z.number().int().positive().default(30).describe("How far ahead guests can book"),
49
+ });
50
+ /**
51
+ * Room reservation settings schema.
52
+ * Configures stay length, check-in/check-out defaults, and booking window for room reservations.
53
+ *
54
+ * @typedef {Object} RoomReservationSettings
55
+ * @property {string} checkInTime - Default check-in time in HH:mm format
56
+ * @property {string} checkOutTime - Default check-out time in HH:mm format
57
+ * @property {number} minStayNights - Minimum nights per booking
58
+ * @property {number} [maxStayNights] - Maximum nights per booking
59
+ * @property {number} advanceBookingDays - Number of days ahead that guests can book
60
+ */
61
+ exports.RoomReservationSettingsSchema = zod_1.z.object({
62
+ checkInTime: zod_1.z.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/).default("15:00").describe("Default check-in time (HH:mm)"),
63
+ checkOutTime: zod_1.z.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/).default("11:00").describe("Default check-out time (HH:mm)"),
64
+ minStayNights: zod_1.z.number().int().positive().default(1).describe("Minimum nights per booking"),
65
+ maxStayNights: zod_1.z.number().int().positive().nullable().optional().describe("Maximum nights per booking"),
66
+ advanceBookingDays: zod_1.z.number().int().positive().default(90).describe("How far ahead guests can book"),
67
+ });
68
+ /**
69
+ * Rental reservation settings schema.
70
+ * Configures rental tiers, waiver requirements, identity verification, and deposits.
71
+ *
72
+ * @typedef {Object} RentalReservationSettings
73
+ * @property {RentalTierDefinition[]} tiers - Available rental duration tiers
74
+ * @property {boolean} requireWaiver - Whether waiver signature is required
75
+ * @property {boolean} requireIdVerification - Whether identity verification is required
76
+ * @property {number} [defaultDepositPercent] - Default security deposit percentage
77
+ */
78
+ exports.RentalReservationSettingsSchema = zod_1.z.object({
79
+ tiers: zod_1.z.array(exports.RentalTierDefinitionSchema).default([]).describe("Available rental duration tiers"),
80
+ requireWaiver: zod_1.z.boolean().default(false).describe("Require waiver signature"),
81
+ requireIdVerification: zod_1.z.boolean().default(false).describe("Require ID verification"),
82
+ defaultDepositPercent: zod_1.z.number().nonnegative().max(100).nullable().optional().describe("Default security deposit percentage"),
83
+ });
84
+ // ============================================================================
85
+ // RESERVATION SETTINGS SCHEMA
86
+ // ============================================================================
87
+ /**
88
+ * Reservation settings schema.
89
+ * Stores location-level reservation configuration for table, room, and rental bookings.
90
+ *
91
+ * @typedef {Object} ReservationSettings
92
+ * @property {string} [locationId] - Business location for these settings
93
+ * @property {TableReservationSettings} [table] - Table reservation settings
94
+ * @property {RoomReservationSettings} [room] - Room reservation settings
95
+ * @property {RentalReservationSettings} [rental] - Rental reservation settings
96
+ * @property {boolean} supportTableReservations - Whether table reservations are supported
97
+ * @property {boolean} supportRoomReservations - Whether room reservations are supported
98
+ * @property {boolean} supportRentalReservations - Whether rental reservations are supported
99
+ */
100
+ exports.ReservationSettingsSchema = base_schema_1.BaseModelSchema.safeExtend({
101
+ locationId: zod_1.z.string().nullable().optional().describe("Business location ID for location-specific overrides. Null applies to default reservation settings."),
102
+ table: exports.TableReservationSettingsSchema.nullable().optional().describe("Table reservation settings"),
103
+ room: exports.RoomReservationSettingsSchema.nullable().optional().describe("Room reservation settings"),
104
+ rental: exports.RentalReservationSettingsSchema.nullable().optional().describe("Rental reservation settings"),
105
+ supportTableReservations: zod_1.z.boolean().default(false).describe("Whether table reservations are supported at this location"),
106
+ supportRoomReservations: zod_1.z.boolean().default(false).describe("Whether room reservations are supported at this location"),
107
+ supportRentalReservations: zod_1.z.boolean().default(false).describe("Whether rental reservations are supported at this location"),
108
+ });
109
+ // ============================================================================
110
+ // CREATE/UPDATE SCHEMAS
111
+ // ============================================================================
112
+ /**
113
+ * Schema for creating reservation settings.
114
+ * Omits auto-generated fields.
115
+ */
116
+ exports.CreateReservationSettingsSchema = exports.ReservationSettingsSchema.omit({
117
+ id: true,
118
+ createdAt: true,
119
+ updatedAt: true,
120
+ });
121
+ /**
122
+ * Schema for updating reservation settings.
123
+ * All fields optional except id.
124
+ */
125
+ exports.UpdateReservationSettingsSchema = exports.CreateReservationSettingsSchema.partial().safeExtend({
126
+ id: zod_1.z.string().describe("Unique identifier of the reservation settings record to update."),
127
+ });