@voyantjs/hospitality 0.2.0 → 0.3.1

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 (53) hide show
  1. package/dist/routes-accommodation.d.ts +1196 -0
  2. package/dist/routes-accommodation.d.ts.map +1 -0
  3. package/dist/routes-accommodation.js +194 -0
  4. package/dist/routes-inventory.d.ts +981 -0
  5. package/dist/routes-inventory.d.ts.map +1 -0
  6. package/dist/routes-inventory.js +159 -0
  7. package/dist/routes-operations.d.ts +2349 -0
  8. package/dist/routes-operations.d.ts.map +1 -0
  9. package/dist/routes-operations.js +6 -0
  10. package/dist/routes-shared.d.ts +11 -0
  11. package/dist/routes-shared.d.ts.map +1 -0
  12. package/dist/routes-shared.js +3 -0
  13. package/dist/routes-stays.d.ts +1371 -0
  14. package/dist/routes-stays.d.ts.map +1 -0
  15. package/dist/routes-stays.js +211 -0
  16. package/dist/routes.d.ts +520 -527
  17. package/dist/routes.d.ts.map +1 -1
  18. package/dist/routes.js +4 -551
  19. package/dist/schema-bookings.d.ts +1476 -0
  20. package/dist/schema-bookings.d.ts.map +1 -0
  21. package/dist/schema-bookings.js +156 -0
  22. package/dist/schema-inventory.d.ts +1593 -0
  23. package/dist/schema-inventory.d.ts.map +1 -0
  24. package/dist/schema-inventory.js +154 -0
  25. package/dist/schema-operations.d.ts +1076 -0
  26. package/dist/schema-operations.d.ts.map +1 -0
  27. package/dist/schema-operations.js +114 -0
  28. package/dist/schema-pricing.d.ts +1065 -0
  29. package/dist/schema-pricing.d.ts.map +1 -0
  30. package/dist/schema-pricing.js +107 -0
  31. package/dist/schema-relations.d.ts +118 -0
  32. package/dist/schema-relations.d.ts.map +1 -0
  33. package/dist/schema-relations.js +199 -0
  34. package/dist/schema-shared.d.ts +13 -0
  35. package/dist/schema-shared.d.ts.map +1 -0
  36. package/dist/schema-shared.js +73 -0
  37. package/dist/schema.d.ts +6 -5335
  38. package/dist/schema.d.ts.map +1 -1
  39. package/dist/schema.js +6 -779
  40. package/dist/service.d.ts +37 -37
  41. package/dist/validation-accommodation.d.ts +438 -0
  42. package/dist/validation-accommodation.d.ts.map +1 -0
  43. package/dist/validation-accommodation.js +151 -0
  44. package/dist/validation-operations.d.ts +860 -0
  45. package/dist/validation-operations.d.ts.map +1 -0
  46. package/dist/validation-operations.js +293 -0
  47. package/dist/validation-shared.d.ts +94 -0
  48. package/dist/validation-shared.d.ts.map +1 -0
  49. package/dist/validation-shared.js +79 -0
  50. package/dist/validation.d.ts +3 -1377
  51. package/dist/validation.d.ts.map +1 -1
  52. package/dist/validation.js +3 -520
  53. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-operations.d.ts","sourceRoot":"","sources":["../src/validation-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,293 @@
1
+ import { booleanQueryParam, hospitalityHousekeepingTaskStatusSchema, hospitalityMaintenanceBlockStatusSchema, hospitalityRoomBlockStatusSchema, nullableDate, nullableInt, nullableMoney, nullableString, paginationSchema, stayBookingItemStatusSchema, stayCheckpointTypeSchema, stayFolioStatusSchema, stayOperationStatusSchema, stayServicePostKindSchema, z, } from "./validation-shared.js";
2
+ export const stayRuleCoreSchema = z.object({
3
+ propertyId: z.string(),
4
+ ratePlanId: z.string().nullable().optional(),
5
+ roomTypeId: z.string().nullable().optional(),
6
+ validFrom: nullableDate,
7
+ validTo: nullableDate,
8
+ minNights: nullableInt,
9
+ maxNights: nullableInt,
10
+ minAdvanceDays: nullableInt,
11
+ maxAdvanceDays: nullableInt,
12
+ closedToArrival: z.boolean().default(false),
13
+ closedToDeparture: z.boolean().default(false),
14
+ arrivalWeekdays: z.array(z.string()).nullable().optional(),
15
+ departureWeekdays: z.array(z.string()).nullable().optional(),
16
+ releaseDays: nullableInt,
17
+ active: z.boolean().default(true),
18
+ priority: z.number().int().default(0),
19
+ notes: nullableString,
20
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
21
+ });
22
+ export const insertStayRuleSchema = stayRuleCoreSchema;
23
+ export const updateStayRuleSchema = stayRuleCoreSchema.partial();
24
+ export const stayRuleListQuerySchema = paginationSchema.extend({
25
+ propertyId: z.string().optional(),
26
+ ratePlanId: z.string().optional(),
27
+ roomTypeId: z.string().optional(),
28
+ active: booleanQueryParam.optional(),
29
+ });
30
+ export const roomInventoryCoreSchema = z.object({
31
+ propertyId: z.string(),
32
+ roomTypeId: z.string(),
33
+ date: z.string().date(),
34
+ totalUnits: z.number().int().min(0).default(0),
35
+ availableUnits: z.number().int().min(0).default(0),
36
+ heldUnits: z.number().int().min(0).default(0),
37
+ soldUnits: z.number().int().min(0).default(0),
38
+ outOfOrderUnits: z.number().int().min(0).default(0),
39
+ overbookLimit: nullableInt,
40
+ stopSell: z.boolean().default(false),
41
+ notes: nullableString,
42
+ });
43
+ export const insertRoomInventorySchema = roomInventoryCoreSchema;
44
+ export const updateRoomInventorySchema = roomInventoryCoreSchema.partial();
45
+ export const roomInventoryListQuerySchema = paginationSchema.extend({
46
+ propertyId: z.string().optional(),
47
+ roomTypeId: z.string().optional(),
48
+ dateFrom: nullableDate,
49
+ dateTo: nullableDate,
50
+ stopSell: booleanQueryParam.optional(),
51
+ });
52
+ export const ratePlanInventoryOverrideCoreSchema = z.object({
53
+ ratePlanId: z.string(),
54
+ roomTypeId: z.string(),
55
+ date: z.string().date(),
56
+ stopSell: z.boolean().default(false),
57
+ closedToArrival: z.boolean().default(false),
58
+ closedToDeparture: z.boolean().default(false),
59
+ minNightsOverride: nullableInt,
60
+ maxNightsOverride: nullableInt,
61
+ notes: nullableString,
62
+ });
63
+ export const insertRatePlanInventoryOverrideSchema = ratePlanInventoryOverrideCoreSchema;
64
+ export const updateRatePlanInventoryOverrideSchema = ratePlanInventoryOverrideCoreSchema.partial();
65
+ export const ratePlanInventoryOverrideListQuerySchema = paginationSchema.extend({
66
+ ratePlanId: z.string().optional(),
67
+ roomTypeId: z.string().optional(),
68
+ dateFrom: nullableDate,
69
+ dateTo: nullableDate,
70
+ });
71
+ export const stayBookingItemCoreSchema = z.object({
72
+ bookingItemId: z.string(),
73
+ propertyId: z.string(),
74
+ roomTypeId: z.string(),
75
+ roomUnitId: z.string().nullable().optional(),
76
+ ratePlanId: z.string(),
77
+ checkInDate: z.string().date(),
78
+ checkOutDate: z.string().date(),
79
+ nightCount: z.number().int().min(1).default(1),
80
+ roomCount: z.number().int().min(1).default(1),
81
+ adults: z.number().int().min(0).default(1),
82
+ children: z.number().int().min(0).default(0),
83
+ infants: z.number().int().min(0).default(0),
84
+ mealPlanId: z.string().nullable().optional(),
85
+ confirmationCode: nullableString,
86
+ voucherCode: nullableString,
87
+ status: stayBookingItemStatusSchema.default("reserved"),
88
+ notes: nullableString,
89
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
90
+ });
91
+ export const insertStayBookingItemSchema = stayBookingItemCoreSchema;
92
+ export const updateStayBookingItemSchema = stayBookingItemCoreSchema.partial();
93
+ export const stayBookingItemListQuerySchema = paginationSchema.extend({
94
+ bookingItemId: z.string().optional(),
95
+ propertyId: z.string().optional(),
96
+ roomTypeId: z.string().optional(),
97
+ roomUnitId: z.string().optional(),
98
+ ratePlanId: z.string().optional(),
99
+ status: stayBookingItemStatusSchema.optional(),
100
+ dateFrom: nullableDate,
101
+ dateTo: nullableDate,
102
+ });
103
+ export const stayDailyRateCoreSchema = z.object({
104
+ stayBookingItemId: z.string(),
105
+ date: z.string().date(),
106
+ sellCurrency: z.string().length(3),
107
+ sellAmountCents: nullableMoney,
108
+ costCurrency: z.string().length(3).nullable().optional(),
109
+ costAmountCents: nullableMoney,
110
+ taxAmountCents: nullableMoney,
111
+ feeAmountCents: nullableMoney,
112
+ commissionAmountCents: nullableMoney,
113
+ });
114
+ export const insertStayDailyRateSchema = stayDailyRateCoreSchema;
115
+ export const updateStayDailyRateSchema = stayDailyRateCoreSchema.partial();
116
+ export const stayDailyRateListQuerySchema = paginationSchema.extend({
117
+ stayBookingItemId: z.string().optional(),
118
+ dateFrom: nullableDate,
119
+ dateTo: nullableDate,
120
+ });
121
+ export const roomBlockCoreSchema = z.object({
122
+ propertyId: z.string(),
123
+ roomTypeId: z.string().nullable().optional(),
124
+ roomUnitId: z.string().nullable().optional(),
125
+ startsOn: z.string().date(),
126
+ endsOn: z.string().date(),
127
+ status: hospitalityRoomBlockStatusSchema.default("draft"),
128
+ blockReason: nullableString,
129
+ quantity: z.number().int().min(1).default(1),
130
+ releaseAt: z.string().datetime().nullable().optional(),
131
+ notes: nullableString,
132
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
133
+ });
134
+ export const insertRoomBlockSchema = roomBlockCoreSchema;
135
+ export const updateRoomBlockSchema = roomBlockCoreSchema.partial();
136
+ export const roomBlockListQuerySchema = paginationSchema.extend({
137
+ propertyId: z.string().optional(),
138
+ roomTypeId: z.string().optional(),
139
+ roomUnitId: z.string().optional(),
140
+ status: hospitalityRoomBlockStatusSchema.optional(),
141
+ startsOn: nullableDate,
142
+ endsOn: nullableDate,
143
+ });
144
+ export const roomUnitStatusEventCoreSchema = z.object({
145
+ roomUnitId: z.string(),
146
+ statusCode: z.string().min(1),
147
+ housekeepingStatus: nullableString,
148
+ effectiveFrom: z.string().datetime().nullable().optional(),
149
+ effectiveTo: z.string().datetime().nullable().optional(),
150
+ notes: nullableString,
151
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
152
+ });
153
+ export const insertRoomUnitStatusEventSchema = roomUnitStatusEventCoreSchema;
154
+ export const updateRoomUnitStatusEventSchema = roomUnitStatusEventCoreSchema.partial();
155
+ export const roomUnitStatusEventListQuerySchema = paginationSchema.extend({
156
+ roomUnitId: z.string().optional(),
157
+ statusCode: z.string().optional(),
158
+ });
159
+ export const maintenanceBlockCoreSchema = z.object({
160
+ propertyId: z.string(),
161
+ roomTypeId: z.string().nullable().optional(),
162
+ roomUnitId: z.string().nullable().optional(),
163
+ startsOn: z.string().date(),
164
+ endsOn: z.string().date(),
165
+ status: hospitalityMaintenanceBlockStatusSchema.default("open"),
166
+ reason: nullableString,
167
+ notes: nullableString,
168
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
169
+ });
170
+ export const insertMaintenanceBlockSchema = maintenanceBlockCoreSchema;
171
+ export const updateMaintenanceBlockSchema = maintenanceBlockCoreSchema.partial();
172
+ export const maintenanceBlockListQuerySchema = paginationSchema.extend({
173
+ propertyId: z.string().optional(),
174
+ roomTypeId: z.string().optional(),
175
+ roomUnitId: z.string().optional(),
176
+ status: hospitalityMaintenanceBlockStatusSchema.optional(),
177
+ startsOn: nullableDate,
178
+ endsOn: nullableDate,
179
+ });
180
+ export const housekeepingTaskCoreSchema = z.object({
181
+ propertyId: z.string(),
182
+ roomUnitId: z.string(),
183
+ stayBookingItemId: z.string().nullable().optional(),
184
+ taskType: z.string().min(1),
185
+ status: hospitalityHousekeepingTaskStatusSchema.default("open"),
186
+ priority: z.number().int().default(0),
187
+ dueAt: z.string().datetime().nullable().optional(),
188
+ startedAt: z.string().datetime().nullable().optional(),
189
+ completedAt: z.string().datetime().nullable().optional(),
190
+ assignedTo: nullableString,
191
+ notes: nullableString,
192
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
193
+ });
194
+ export const insertHousekeepingTaskSchema = housekeepingTaskCoreSchema;
195
+ export const updateHousekeepingTaskSchema = housekeepingTaskCoreSchema.partial();
196
+ export const housekeepingTaskListQuerySchema = paginationSchema.extend({
197
+ propertyId: z.string().optional(),
198
+ roomUnitId: z.string().optional(),
199
+ stayBookingItemId: z.string().optional(),
200
+ status: hospitalityHousekeepingTaskStatusSchema.optional(),
201
+ taskType: z.string().optional(),
202
+ });
203
+ export const stayOperationCoreSchema = z.object({
204
+ stayBookingItemId: z.string(),
205
+ propertyId: z.string(),
206
+ roomUnitId: z.string().nullable().optional(),
207
+ operationStatus: stayOperationStatusSchema.default("reserved"),
208
+ expectedArrivalAt: z.string().datetime().nullable().optional(),
209
+ expectedDepartureAt: z.string().datetime().nullable().optional(),
210
+ checkedInAt: z.string().datetime().nullable().optional(),
211
+ checkedOutAt: z.string().datetime().nullable().optional(),
212
+ noShowRecordedAt: z.string().datetime().nullable().optional(),
213
+ notes: nullableString,
214
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
215
+ });
216
+ export const insertStayOperationSchema = stayOperationCoreSchema;
217
+ export const updateStayOperationSchema = stayOperationCoreSchema.partial();
218
+ export const stayOperationListQuerySchema = paginationSchema.extend({
219
+ stayBookingItemId: z.string().optional(),
220
+ propertyId: z.string().optional(),
221
+ roomUnitId: z.string().optional(),
222
+ operationStatus: stayOperationStatusSchema.optional(),
223
+ });
224
+ export const stayCheckpointCoreSchema = z.object({
225
+ stayOperationId: z.string(),
226
+ checkpointType: stayCheckpointTypeSchema.default("note"),
227
+ occurredAt: z.string().datetime().nullable().optional(),
228
+ roomUnitId: z.string().nullable().optional(),
229
+ notes: nullableString,
230
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
231
+ });
232
+ export const insertStayCheckpointSchema = stayCheckpointCoreSchema;
233
+ export const updateStayCheckpointSchema = stayCheckpointCoreSchema.partial();
234
+ export const stayCheckpointListQuerySchema = paginationSchema.extend({
235
+ stayOperationId: z.string().optional(),
236
+ checkpointType: stayCheckpointTypeSchema.optional(),
237
+ });
238
+ export const stayServicePostCoreSchema = z.object({
239
+ stayOperationId: z.string(),
240
+ bookingItemId: z.string().nullable().optional(),
241
+ serviceDate: z.string().date(),
242
+ kind: stayServicePostKindSchema.default("other"),
243
+ description: z.string().min(1),
244
+ quantity: z.number().int().min(1).default(1),
245
+ currencyCode: z.string().length(3),
246
+ sellAmountCents: z.number().int().default(0),
247
+ costAmountCents: nullableMoney,
248
+ notes: nullableString,
249
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
250
+ });
251
+ export const insertStayServicePostSchema = stayServicePostCoreSchema;
252
+ export const updateStayServicePostSchema = stayServicePostCoreSchema.partial();
253
+ export const stayServicePostListQuerySchema = paginationSchema.extend({
254
+ stayOperationId: z.string().optional(),
255
+ bookingItemId: z.string().optional(),
256
+ kind: stayServicePostKindSchema.optional(),
257
+ serviceDateFrom: nullableDate,
258
+ serviceDateTo: nullableDate,
259
+ });
260
+ export const stayFolioCoreSchema = z.object({
261
+ stayOperationId: z.string(),
262
+ currencyCode: z.string().length(3),
263
+ status: stayFolioStatusSchema.default("open"),
264
+ openedAt: z.string().datetime().nullable().optional(),
265
+ closedAt: z.string().datetime().nullable().optional(),
266
+ notes: nullableString,
267
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
268
+ });
269
+ export const insertStayFolioSchema = stayFolioCoreSchema;
270
+ export const updateStayFolioSchema = stayFolioCoreSchema.partial();
271
+ export const stayFolioListQuerySchema = paginationSchema.extend({
272
+ stayOperationId: z.string().optional(),
273
+ status: stayFolioStatusSchema.optional(),
274
+ });
275
+ export const stayFolioLineCoreSchema = z.object({
276
+ stayFolioId: z.string(),
277
+ servicePostId: z.string().nullable().optional(),
278
+ postedAt: z.string().datetime().nullable().optional(),
279
+ lineType: z.string().min(1),
280
+ description: z.string().min(1),
281
+ quantity: z.number().int().min(1).default(1),
282
+ amountCents: z.number().int().default(0),
283
+ taxAmountCents: nullableMoney,
284
+ feeAmountCents: nullableMoney,
285
+ notes: nullableString,
286
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
287
+ });
288
+ export const insertStayFolioLineSchema = stayFolioLineCoreSchema;
289
+ export const updateStayFolioLineSchema = stayFolioLineCoreSchema.partial();
290
+ export const stayFolioLineListQuerySchema = paginationSchema.extend({
291
+ stayFolioId: z.string().optional(),
292
+ servicePostId: z.string().optional(),
293
+ });
@@ -0,0 +1,94 @@
1
+ import { booleanQueryParam } from "@voyantjs/db/helpers";
2
+ import { z } from "zod";
3
+ export { booleanQueryParam, z };
4
+ export declare const paginationSchema: z.ZodObject<{
5
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
6
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
7
+ }, z.core.$strip>;
8
+ export declare const nullableString: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ export declare const nullableInt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
10
+ export declare const nullableDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ export declare const nullableMoney: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
12
+ export declare const hospitalityInventoryModeSchema: z.ZodEnum<{
13
+ virtual: "virtual";
14
+ pooled: "pooled";
15
+ serialized: "serialized";
16
+ }>;
17
+ export declare const roomUnitStatusSchema: z.ZodEnum<{
18
+ active: "active";
19
+ inactive: "inactive";
20
+ archived: "archived";
21
+ out_of_order: "out_of_order";
22
+ }>;
23
+ export declare const ratePlanChargeFrequencySchema: z.ZodEnum<{
24
+ per_night: "per_night";
25
+ per_stay: "per_stay";
26
+ per_person_per_night: "per_person_per_night";
27
+ per_person_per_stay: "per_person_per_stay";
28
+ }>;
29
+ export declare const hospitalityGuaranteeModeSchema: z.ZodEnum<{
30
+ none: "none";
31
+ card_hold: "card_hold";
32
+ deposit: "deposit";
33
+ full_prepay: "full_prepay";
34
+ on_request: "on_request";
35
+ }>;
36
+ export declare const stayBookingItemStatusSchema: z.ZodEnum<{
37
+ cancelled: "cancelled";
38
+ reserved: "reserved";
39
+ checked_in: "checked_in";
40
+ checked_out: "checked_out";
41
+ no_show: "no_show";
42
+ }>;
43
+ export declare const hospitalityRoomBlockStatusSchema: z.ZodEnum<{
44
+ draft: "draft";
45
+ confirmed: "confirmed";
46
+ cancelled: "cancelled";
47
+ held: "held";
48
+ released: "released";
49
+ }>;
50
+ export declare const hospitalityHousekeepingTaskStatusSchema: z.ZodEnum<{
51
+ in_progress: "in_progress";
52
+ completed: "completed";
53
+ cancelled: "cancelled";
54
+ open: "open";
55
+ }>;
56
+ export declare const hospitalityMaintenanceBlockStatusSchema: z.ZodEnum<{
57
+ in_progress: "in_progress";
58
+ cancelled: "cancelled";
59
+ open: "open";
60
+ resolved: "resolved";
61
+ }>;
62
+ export declare const stayOperationStatusSchema: z.ZodEnum<{
63
+ cancelled: "cancelled";
64
+ reserved: "reserved";
65
+ checked_in: "checked_in";
66
+ checked_out: "checked_out";
67
+ no_show: "no_show";
68
+ expected_arrival: "expected_arrival";
69
+ }>;
70
+ export declare const stayCheckpointTypeSchema: z.ZodEnum<{
71
+ no_show: "no_show";
72
+ arrival: "arrival";
73
+ room_assigned: "room_assigned";
74
+ check_in: "check_in";
75
+ room_move: "room_move";
76
+ charge_posted: "charge_posted";
77
+ check_out: "check_out";
78
+ note: "note";
79
+ }>;
80
+ export declare const stayServicePostKindSchema: z.ZodEnum<{
81
+ other: "other";
82
+ fee: "fee";
83
+ adjustment: "adjustment";
84
+ lodging: "lodging";
85
+ meal: "meal";
86
+ minibar: "minibar";
87
+ }>;
88
+ export declare const stayFolioStatusSchema: z.ZodEnum<{
89
+ open: "open";
90
+ closed: "closed";
91
+ transferred: "transferred";
92
+ void: "void";
93
+ }>;
94
+ //# sourceMappingURL=validation-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-shared.d.ts","sourceRoot":"","sources":["../src/validation-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAA;AAE/B,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAA;AACF,eAAO,MAAM,cAAc,2CAAmC,CAAA;AAC9D,eAAO,MAAM,WAAW,2CAAyC,CAAA;AACjE,eAAO,MAAM,YAAY,2CAA0C,CAAA;AACnE,eAAO,MAAM,aAAa,2CAAyC,CAAA;AACnE,eAAO,MAAM,8BAA8B;;;;EAA8C,CAAA;AACzF,eAAO,MAAM,oBAAoB;;;;;EAA6D,CAAA;AAC9F,eAAO,MAAM,6BAA6B;;;;;EAKxC,CAAA;AACF,eAAO,MAAM,8BAA8B;;;;;;EAMzC,CAAA;AACF,eAAO,MAAM,2BAA2B;;;;;;EAMtC,CAAA;AACF,eAAO,MAAM,gCAAgC;;;;;;EAM3C,CAAA;AACF,eAAO,MAAM,uCAAuC;;;;;EAKlD,CAAA;AACF,eAAO,MAAM,uCAAuC;;;;;EAKlD,CAAA;AACF,eAAO,MAAM,yBAAyB;;;;;;;EAOpC,CAAA;AACF,eAAO,MAAM,wBAAwB;;;;;;;;;EASnC,CAAA;AACF,eAAO,MAAM,yBAAyB;;;;;;;EAOpC,CAAA;AACF,eAAO,MAAM,qBAAqB;;;;;EAAoD,CAAA"}
@@ -0,0 +1,79 @@
1
+ import { booleanQueryParam } from "@voyantjs/db/helpers";
2
+ import { z } from "zod";
3
+ export { booleanQueryParam, z };
4
+ export const paginationSchema = z.object({
5
+ limit: z.coerce.number().int().min(1).max(200).default(50),
6
+ offset: z.coerce.number().int().min(0).default(0),
7
+ });
8
+ export const nullableString = z.string().nullable().optional();
9
+ export const nullableInt = z.number().int().nullable().optional();
10
+ export const nullableDate = z.string().date().nullable().optional();
11
+ export const nullableMoney = z.number().int().nullable().optional();
12
+ export const hospitalityInventoryModeSchema = z.enum(["pooled", "serialized", "virtual"]);
13
+ export const roomUnitStatusSchema = z.enum(["active", "inactive", "out_of_order", "archived"]);
14
+ export const ratePlanChargeFrequencySchema = z.enum([
15
+ "per_night",
16
+ "per_stay",
17
+ "per_person_per_night",
18
+ "per_person_per_stay",
19
+ ]);
20
+ export const hospitalityGuaranteeModeSchema = z.enum([
21
+ "none",
22
+ "card_hold",
23
+ "deposit",
24
+ "full_prepay",
25
+ "on_request",
26
+ ]);
27
+ export const stayBookingItemStatusSchema = z.enum([
28
+ "reserved",
29
+ "checked_in",
30
+ "checked_out",
31
+ "cancelled",
32
+ "no_show",
33
+ ]);
34
+ export const hospitalityRoomBlockStatusSchema = z.enum([
35
+ "draft",
36
+ "held",
37
+ "confirmed",
38
+ "released",
39
+ "cancelled",
40
+ ]);
41
+ export const hospitalityHousekeepingTaskStatusSchema = z.enum([
42
+ "open",
43
+ "in_progress",
44
+ "completed",
45
+ "cancelled",
46
+ ]);
47
+ export const hospitalityMaintenanceBlockStatusSchema = z.enum([
48
+ "open",
49
+ "in_progress",
50
+ "resolved",
51
+ "cancelled",
52
+ ]);
53
+ export const stayOperationStatusSchema = z.enum([
54
+ "reserved",
55
+ "expected_arrival",
56
+ "checked_in",
57
+ "checked_out",
58
+ "no_show",
59
+ "cancelled",
60
+ ]);
61
+ export const stayCheckpointTypeSchema = z.enum([
62
+ "arrival",
63
+ "room_assigned",
64
+ "check_in",
65
+ "room_move",
66
+ "charge_posted",
67
+ "check_out",
68
+ "no_show",
69
+ "note",
70
+ ]);
71
+ export const stayServicePostKindSchema = z.enum([
72
+ "lodging",
73
+ "meal",
74
+ "minibar",
75
+ "fee",
76
+ "adjustment",
77
+ "other",
78
+ ]);
79
+ export const stayFolioStatusSchema = z.enum(["open", "closed", "transferred", "void"]);