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