@voyantjs/availability 0.1.0

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.
@@ -0,0 +1,732 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import type { z } from "zod";
3
+ import type { availabilityCloseoutListQuerySchema, availabilityPickupPointListQuerySchema, availabilityRuleListQuerySchema, availabilitySlotListQuerySchema, availabilitySlotPickupListQuerySchema, availabilityStartTimeListQuerySchema, customPickupAreaListQuerySchema, insertAvailabilityCloseoutSchema, insertAvailabilityPickupPointSchema, insertAvailabilityRuleSchema, insertAvailabilitySlotPickupSchema, insertAvailabilitySlotSchema, insertAvailabilityStartTimeSchema, insertCustomPickupAreaSchema, insertLocationPickupTimeSchema, insertPickupGroupSchema, insertPickupLocationSchema, insertProductMeetingConfigSchema, locationPickupTimeListQuerySchema, pickupGroupListQuerySchema, pickupLocationListQuerySchema, productMeetingConfigListQuerySchema, updateAvailabilityCloseoutSchema, updateAvailabilityPickupPointSchema, updateAvailabilityRuleSchema, updateAvailabilitySlotPickupSchema, updateAvailabilitySlotSchema, updateAvailabilityStartTimeSchema, updateCustomPickupAreaSchema, updateLocationPickupTimeSchema, updatePickupGroupSchema, updatePickupLocationSchema, updateProductMeetingConfigSchema } from "./validation.js";
4
+ type AvailabilityRuleListQuery = z.infer<typeof availabilityRuleListQuerySchema>;
5
+ type AvailabilityStartTimeListQuery = z.infer<typeof availabilityStartTimeListQuerySchema>;
6
+ type AvailabilitySlotListQuery = z.infer<typeof availabilitySlotListQuerySchema>;
7
+ type AvailabilityCloseoutListQuery = z.infer<typeof availabilityCloseoutListQuerySchema>;
8
+ type AvailabilityPickupPointListQuery = z.infer<typeof availabilityPickupPointListQuerySchema>;
9
+ type AvailabilitySlotPickupListQuery = z.infer<typeof availabilitySlotPickupListQuerySchema>;
10
+ type ProductMeetingConfigListQuery = z.infer<typeof productMeetingConfigListQuerySchema>;
11
+ type PickupGroupListQuery = z.infer<typeof pickupGroupListQuerySchema>;
12
+ type PickupLocationListQuery = z.infer<typeof pickupLocationListQuerySchema>;
13
+ type LocationPickupTimeListQuery = z.infer<typeof locationPickupTimeListQuerySchema>;
14
+ type CustomPickupAreaListQuery = z.infer<typeof customPickupAreaListQuerySchema>;
15
+ type CreateAvailabilityRuleInput = z.infer<typeof insertAvailabilityRuleSchema>;
16
+ type UpdateAvailabilityRuleInput = z.infer<typeof updateAvailabilityRuleSchema>;
17
+ type CreateAvailabilityStartTimeInput = z.infer<typeof insertAvailabilityStartTimeSchema>;
18
+ type UpdateAvailabilityStartTimeInput = z.infer<typeof updateAvailabilityStartTimeSchema>;
19
+ type CreateAvailabilitySlotInput = z.infer<typeof insertAvailabilitySlotSchema>;
20
+ type UpdateAvailabilitySlotInput = z.infer<typeof updateAvailabilitySlotSchema>;
21
+ type CreateAvailabilityCloseoutInput = z.infer<typeof insertAvailabilityCloseoutSchema>;
22
+ type UpdateAvailabilityCloseoutInput = z.infer<typeof updateAvailabilityCloseoutSchema>;
23
+ type CreateAvailabilityPickupPointInput = z.infer<typeof insertAvailabilityPickupPointSchema>;
24
+ type UpdateAvailabilityPickupPointInput = z.infer<typeof updateAvailabilityPickupPointSchema>;
25
+ type CreateAvailabilitySlotPickupInput = z.infer<typeof insertAvailabilitySlotPickupSchema>;
26
+ type UpdateAvailabilitySlotPickupInput = z.infer<typeof updateAvailabilitySlotPickupSchema>;
27
+ type CreateProductMeetingConfigInput = z.infer<typeof insertProductMeetingConfigSchema>;
28
+ type UpdateProductMeetingConfigInput = z.infer<typeof updateProductMeetingConfigSchema>;
29
+ type CreatePickupGroupInput = z.infer<typeof insertPickupGroupSchema>;
30
+ type UpdatePickupGroupInput = z.infer<typeof updatePickupGroupSchema>;
31
+ type CreatePickupLocationInput = z.infer<typeof insertPickupLocationSchema>;
32
+ type UpdatePickupLocationInput = z.infer<typeof updatePickupLocationSchema>;
33
+ type CreateLocationPickupTimeInput = z.infer<typeof insertLocationPickupTimeSchema>;
34
+ type UpdateLocationPickupTimeInput = z.infer<typeof updateLocationPickupTimeSchema>;
35
+ type CreateCustomPickupAreaInput = z.infer<typeof insertCustomPickupAreaSchema>;
36
+ type UpdateCustomPickupAreaInput = z.infer<typeof updateCustomPickupAreaSchema>;
37
+ export declare const availabilityService: {
38
+ listRules(db: PostgresJsDatabase, query: AvailabilityRuleListQuery): Promise<{
39
+ data: {
40
+ id: string;
41
+ productId: string;
42
+ optionId: string | null;
43
+ facilityId: string | null;
44
+ timezone: string;
45
+ recurrenceRule: string;
46
+ maxCapacity: number;
47
+ maxPickupCapacity: number | null;
48
+ minTotalPax: number | null;
49
+ cutoffMinutes: number | null;
50
+ earlyBookingLimitMinutes: number | null;
51
+ active: boolean;
52
+ createdAt: Date;
53
+ updatedAt: Date;
54
+ }[];
55
+ total: number;
56
+ limit: number;
57
+ offset: number;
58
+ }>;
59
+ getRuleById(db: PostgresJsDatabase, id: string): Promise<{
60
+ id: string;
61
+ productId: string;
62
+ optionId: string | null;
63
+ facilityId: string | null;
64
+ timezone: string;
65
+ recurrenceRule: string;
66
+ maxCapacity: number;
67
+ maxPickupCapacity: number | null;
68
+ minTotalPax: number | null;
69
+ cutoffMinutes: number | null;
70
+ earlyBookingLimitMinutes: number | null;
71
+ active: boolean;
72
+ createdAt: Date;
73
+ updatedAt: Date;
74
+ } | null>;
75
+ createRule(db: PostgresJsDatabase, data: CreateAvailabilityRuleInput): Promise<{
76
+ id: string;
77
+ productId: string;
78
+ optionId: string | null;
79
+ facilityId: string | null;
80
+ timezone: string;
81
+ recurrenceRule: string;
82
+ maxCapacity: number;
83
+ maxPickupCapacity: number | null;
84
+ minTotalPax: number | null;
85
+ cutoffMinutes: number | null;
86
+ earlyBookingLimitMinutes: number | null;
87
+ active: boolean;
88
+ createdAt: Date;
89
+ updatedAt: Date;
90
+ } | undefined>;
91
+ updateRule(db: PostgresJsDatabase, id: string, data: UpdateAvailabilityRuleInput): Promise<{
92
+ id: string;
93
+ productId: string;
94
+ optionId: string | null;
95
+ facilityId: string | null;
96
+ timezone: string;
97
+ recurrenceRule: string;
98
+ maxCapacity: number;
99
+ maxPickupCapacity: number | null;
100
+ minTotalPax: number | null;
101
+ cutoffMinutes: number | null;
102
+ earlyBookingLimitMinutes: number | null;
103
+ active: boolean;
104
+ createdAt: Date;
105
+ updatedAt: Date;
106
+ } | null>;
107
+ deleteRule(db: PostgresJsDatabase, id: string): Promise<{
108
+ id: string;
109
+ } | null>;
110
+ listStartTimes(db: PostgresJsDatabase, query: AvailabilityStartTimeListQuery): Promise<{
111
+ data: {
112
+ id: string;
113
+ productId: string;
114
+ optionId: string | null;
115
+ facilityId: string | null;
116
+ label: string | null;
117
+ startTimeLocal: string;
118
+ durationMinutes: number | null;
119
+ sortOrder: number;
120
+ active: boolean;
121
+ createdAt: Date;
122
+ updatedAt: Date;
123
+ }[];
124
+ total: number;
125
+ limit: number;
126
+ offset: number;
127
+ }>;
128
+ getStartTimeById(db: PostgresJsDatabase, id: string): Promise<{
129
+ id: string;
130
+ productId: string;
131
+ optionId: string | null;
132
+ facilityId: string | null;
133
+ label: string | null;
134
+ startTimeLocal: string;
135
+ durationMinutes: number | null;
136
+ sortOrder: number;
137
+ active: boolean;
138
+ createdAt: Date;
139
+ updatedAt: Date;
140
+ } | null>;
141
+ createStartTime(db: PostgresJsDatabase, data: CreateAvailabilityStartTimeInput): Promise<{
142
+ id: string;
143
+ productId: string;
144
+ optionId: string | null;
145
+ facilityId: string | null;
146
+ active: boolean;
147
+ createdAt: Date;
148
+ updatedAt: Date;
149
+ label: string | null;
150
+ startTimeLocal: string;
151
+ durationMinutes: number | null;
152
+ sortOrder: number;
153
+ } | undefined>;
154
+ updateStartTime(db: PostgresJsDatabase, id: string, data: UpdateAvailabilityStartTimeInput): Promise<{
155
+ id: string;
156
+ productId: string;
157
+ optionId: string | null;
158
+ facilityId: string | null;
159
+ label: string | null;
160
+ startTimeLocal: string;
161
+ durationMinutes: number | null;
162
+ sortOrder: number;
163
+ active: boolean;
164
+ createdAt: Date;
165
+ updatedAt: Date;
166
+ } | null>;
167
+ deleteStartTime(db: PostgresJsDatabase, id: string): Promise<{
168
+ id: string;
169
+ } | null>;
170
+ listSlots(db: PostgresJsDatabase, query: AvailabilitySlotListQuery): Promise<{
171
+ data: {
172
+ id: string;
173
+ productId: string;
174
+ optionId: string | null;
175
+ facilityId: string | null;
176
+ availabilityRuleId: string | null;
177
+ startTimeId: string | null;
178
+ dateLocal: string;
179
+ startsAt: Date;
180
+ endsAt: Date | null;
181
+ timezone: string;
182
+ status: "open" | "closed" | "sold_out" | "cancelled";
183
+ unlimited: boolean;
184
+ initialPax: number | null;
185
+ remainingPax: number | null;
186
+ initialPickups: number | null;
187
+ remainingPickups: number | null;
188
+ remainingResources: number | null;
189
+ pastCutoff: boolean;
190
+ tooEarly: boolean;
191
+ nights: number | null;
192
+ days: number | null;
193
+ notes: string | null;
194
+ createdAt: Date;
195
+ updatedAt: Date;
196
+ }[];
197
+ total: number;
198
+ limit: number;
199
+ offset: number;
200
+ }>;
201
+ getSlotById(db: PostgresJsDatabase, id: string): Promise<{
202
+ id: string;
203
+ productId: string;
204
+ optionId: string | null;
205
+ facilityId: string | null;
206
+ availabilityRuleId: string | null;
207
+ startTimeId: string | null;
208
+ dateLocal: string;
209
+ startsAt: Date;
210
+ endsAt: Date | null;
211
+ timezone: string;
212
+ status: "open" | "closed" | "sold_out" | "cancelled";
213
+ unlimited: boolean;
214
+ initialPax: number | null;
215
+ remainingPax: number | null;
216
+ initialPickups: number | null;
217
+ remainingPickups: number | null;
218
+ remainingResources: number | null;
219
+ pastCutoff: boolean;
220
+ tooEarly: boolean;
221
+ nights: number | null;
222
+ days: number | null;
223
+ notes: string | null;
224
+ createdAt: Date;
225
+ updatedAt: Date;
226
+ } | null>;
227
+ createSlot(db: PostgresJsDatabase, data: CreateAvailabilitySlotInput): Promise<{
228
+ id: string;
229
+ productId: string;
230
+ optionId: string | null;
231
+ facilityId: string | null;
232
+ timezone: string;
233
+ createdAt: Date;
234
+ updatedAt: Date;
235
+ availabilityRuleId: string | null;
236
+ startTimeId: string | null;
237
+ dateLocal: string;
238
+ startsAt: Date;
239
+ endsAt: Date | null;
240
+ status: "open" | "closed" | "sold_out" | "cancelled";
241
+ unlimited: boolean;
242
+ initialPax: number | null;
243
+ remainingPax: number | null;
244
+ initialPickups: number | null;
245
+ remainingPickups: number | null;
246
+ remainingResources: number | null;
247
+ pastCutoff: boolean;
248
+ tooEarly: boolean;
249
+ nights: number | null;
250
+ days: number | null;
251
+ notes: string | null;
252
+ } | undefined>;
253
+ updateSlot(db: PostgresJsDatabase, id: string, data: UpdateAvailabilitySlotInput): Promise<{
254
+ id: string;
255
+ productId: string;
256
+ optionId: string | null;
257
+ facilityId: string | null;
258
+ availabilityRuleId: string | null;
259
+ startTimeId: string | null;
260
+ dateLocal: string;
261
+ startsAt: Date;
262
+ endsAt: Date | null;
263
+ timezone: string;
264
+ status: "open" | "closed" | "sold_out" | "cancelled";
265
+ unlimited: boolean;
266
+ initialPax: number | null;
267
+ remainingPax: number | null;
268
+ initialPickups: number | null;
269
+ remainingPickups: number | null;
270
+ remainingResources: number | null;
271
+ pastCutoff: boolean;
272
+ tooEarly: boolean;
273
+ nights: number | null;
274
+ days: number | null;
275
+ notes: string | null;
276
+ createdAt: Date;
277
+ updatedAt: Date;
278
+ } | null>;
279
+ deleteSlot(db: PostgresJsDatabase, id: string): Promise<{
280
+ id: string;
281
+ } | null>;
282
+ listCloseouts(db: PostgresJsDatabase, query: AvailabilityCloseoutListQuery): Promise<{
283
+ data: {
284
+ id: string;
285
+ productId: string;
286
+ slotId: string | null;
287
+ dateLocal: string;
288
+ reason: string | null;
289
+ createdBy: string | null;
290
+ createdAt: Date;
291
+ }[];
292
+ total: number;
293
+ limit: number;
294
+ offset: number;
295
+ }>;
296
+ getCloseoutById(db: PostgresJsDatabase, id: string): Promise<{
297
+ id: string;
298
+ productId: string;
299
+ slotId: string | null;
300
+ dateLocal: string;
301
+ reason: string | null;
302
+ createdBy: string | null;
303
+ createdAt: Date;
304
+ } | null>;
305
+ createCloseout(db: PostgresJsDatabase, data: CreateAvailabilityCloseoutInput): Promise<{
306
+ id: string;
307
+ productId: string;
308
+ createdAt: Date;
309
+ dateLocal: string;
310
+ slotId: string | null;
311
+ reason: string | null;
312
+ createdBy: string | null;
313
+ } | undefined>;
314
+ updateCloseout(db: PostgresJsDatabase, id: string, data: UpdateAvailabilityCloseoutInput): Promise<{
315
+ id: string;
316
+ productId: string;
317
+ slotId: string | null;
318
+ dateLocal: string;
319
+ reason: string | null;
320
+ createdBy: string | null;
321
+ createdAt: Date;
322
+ } | null>;
323
+ deleteCloseout(db: PostgresJsDatabase, id: string): Promise<{
324
+ id: string;
325
+ } | null>;
326
+ listPickupPoints(db: PostgresJsDatabase, query: AvailabilityPickupPointListQuery): Promise<{
327
+ data: {
328
+ id: string;
329
+ productId: string;
330
+ facilityId: string | null;
331
+ name: string;
332
+ description: string | null;
333
+ locationText: string | null;
334
+ active: boolean;
335
+ createdAt: Date;
336
+ updatedAt: Date;
337
+ }[];
338
+ total: number;
339
+ limit: number;
340
+ offset: number;
341
+ }>;
342
+ getPickupPointById(db: PostgresJsDatabase, id: string): Promise<{
343
+ id: string;
344
+ productId: string;
345
+ facilityId: string | null;
346
+ name: string;
347
+ description: string | null;
348
+ locationText: string | null;
349
+ active: boolean;
350
+ createdAt: Date;
351
+ updatedAt: Date;
352
+ } | null>;
353
+ createPickupPoint(db: PostgresJsDatabase, data: CreateAvailabilityPickupPointInput): Promise<{
354
+ id: string;
355
+ name: string;
356
+ productId: string;
357
+ facilityId: string | null;
358
+ active: boolean;
359
+ createdAt: Date;
360
+ updatedAt: Date;
361
+ description: string | null;
362
+ locationText: string | null;
363
+ } | undefined>;
364
+ updatePickupPoint(db: PostgresJsDatabase, id: string, data: UpdateAvailabilityPickupPointInput): Promise<{
365
+ id: string;
366
+ productId: string;
367
+ facilityId: string | null;
368
+ name: string;
369
+ description: string | null;
370
+ locationText: string | null;
371
+ active: boolean;
372
+ createdAt: Date;
373
+ updatedAt: Date;
374
+ } | null>;
375
+ deletePickupPoint(db: PostgresJsDatabase, id: string): Promise<{
376
+ id: string;
377
+ } | null>;
378
+ listSlotPickups(db: PostgresJsDatabase, query: AvailabilitySlotPickupListQuery): Promise<{
379
+ data: {
380
+ id: string;
381
+ slotId: string;
382
+ pickupPointId: string;
383
+ initialCapacity: number | null;
384
+ remainingCapacity: number | null;
385
+ createdAt: Date;
386
+ updatedAt: Date;
387
+ }[];
388
+ total: number;
389
+ limit: number;
390
+ offset: number;
391
+ }>;
392
+ getSlotPickupById(db: PostgresJsDatabase, id: string): Promise<{
393
+ id: string;
394
+ slotId: string;
395
+ pickupPointId: string;
396
+ initialCapacity: number | null;
397
+ remainingCapacity: number | null;
398
+ createdAt: Date;
399
+ updatedAt: Date;
400
+ } | null>;
401
+ createSlotPickup(db: PostgresJsDatabase, data: CreateAvailabilitySlotPickupInput): Promise<{
402
+ id: string;
403
+ createdAt: Date;
404
+ updatedAt: Date;
405
+ slotId: string;
406
+ pickupPointId: string;
407
+ initialCapacity: number | null;
408
+ remainingCapacity: number | null;
409
+ } | undefined>;
410
+ updateSlotPickup(db: PostgresJsDatabase, id: string, data: UpdateAvailabilitySlotPickupInput): Promise<{
411
+ id: string;
412
+ slotId: string;
413
+ pickupPointId: string;
414
+ initialCapacity: number | null;
415
+ remainingCapacity: number | null;
416
+ createdAt: Date;
417
+ updatedAt: Date;
418
+ } | null>;
419
+ deleteSlotPickup(db: PostgresJsDatabase, id: string): Promise<{
420
+ id: string;
421
+ } | null>;
422
+ listMeetingConfigs(db: PostgresJsDatabase, query: ProductMeetingConfigListQuery): Promise<{
423
+ data: {
424
+ id: string;
425
+ productId: string;
426
+ optionId: string | null;
427
+ facilityId: string | null;
428
+ mode: "meeting_only" | "pickup_only" | "meet_or_pickup";
429
+ allowCustomPickup: boolean;
430
+ allowCustomDropoff: boolean;
431
+ requiresPickupSelection: boolean;
432
+ requiresDropoffSelection: boolean;
433
+ usePickupAllotment: boolean;
434
+ meetingInstructions: string | null;
435
+ pickupInstructions: string | null;
436
+ dropoffInstructions: string | null;
437
+ active: boolean;
438
+ createdAt: Date;
439
+ updatedAt: Date;
440
+ }[];
441
+ total: number;
442
+ limit: number;
443
+ offset: number;
444
+ }>;
445
+ getMeetingConfigById(db: PostgresJsDatabase, id: string): Promise<{
446
+ id: string;
447
+ productId: string;
448
+ optionId: string | null;
449
+ facilityId: string | null;
450
+ mode: "meeting_only" | "pickup_only" | "meet_or_pickup";
451
+ allowCustomPickup: boolean;
452
+ allowCustomDropoff: boolean;
453
+ requiresPickupSelection: boolean;
454
+ requiresDropoffSelection: boolean;
455
+ usePickupAllotment: boolean;
456
+ meetingInstructions: string | null;
457
+ pickupInstructions: string | null;
458
+ dropoffInstructions: string | null;
459
+ active: boolean;
460
+ createdAt: Date;
461
+ updatedAt: Date;
462
+ } | null>;
463
+ createMeetingConfig(db: PostgresJsDatabase, data: CreateProductMeetingConfigInput): Promise<{
464
+ id: string;
465
+ productId: string;
466
+ optionId: string | null;
467
+ facilityId: string | null;
468
+ active: boolean;
469
+ mode: "meeting_only" | "pickup_only" | "meet_or_pickup";
470
+ createdAt: Date;
471
+ updatedAt: Date;
472
+ allowCustomPickup: boolean;
473
+ allowCustomDropoff: boolean;
474
+ requiresPickupSelection: boolean;
475
+ requiresDropoffSelection: boolean;
476
+ usePickupAllotment: boolean;
477
+ meetingInstructions: string | null;
478
+ pickupInstructions: string | null;
479
+ dropoffInstructions: string | null;
480
+ } | undefined>;
481
+ updateMeetingConfig(db: PostgresJsDatabase, id: string, data: UpdateProductMeetingConfigInput): Promise<{
482
+ id: string;
483
+ productId: string;
484
+ optionId: string | null;
485
+ facilityId: string | null;
486
+ mode: "meeting_only" | "pickup_only" | "meet_or_pickup";
487
+ allowCustomPickup: boolean;
488
+ allowCustomDropoff: boolean;
489
+ requiresPickupSelection: boolean;
490
+ requiresDropoffSelection: boolean;
491
+ usePickupAllotment: boolean;
492
+ meetingInstructions: string | null;
493
+ pickupInstructions: string | null;
494
+ dropoffInstructions: string | null;
495
+ active: boolean;
496
+ createdAt: Date;
497
+ updatedAt: Date;
498
+ } | null>;
499
+ deleteMeetingConfig(db: PostgresJsDatabase, id: string): Promise<{
500
+ id: string;
501
+ } | null>;
502
+ listPickupGroups(db: PostgresJsDatabase, query: PickupGroupListQuery): Promise<{
503
+ data: {
504
+ id: string;
505
+ meetingConfigId: string;
506
+ kind: "pickup" | "dropoff" | "meeting";
507
+ name: string;
508
+ description: string | null;
509
+ active: boolean;
510
+ sortOrder: number;
511
+ createdAt: Date;
512
+ updatedAt: Date;
513
+ }[];
514
+ total: number;
515
+ limit: number;
516
+ offset: number;
517
+ }>;
518
+ getPickupGroupById(db: PostgresJsDatabase, id: string): Promise<{
519
+ id: string;
520
+ meetingConfigId: string;
521
+ kind: "pickup" | "dropoff" | "meeting";
522
+ name: string;
523
+ description: string | null;
524
+ active: boolean;
525
+ sortOrder: number;
526
+ createdAt: Date;
527
+ updatedAt: Date;
528
+ } | null>;
529
+ createPickupGroup(db: PostgresJsDatabase, data: CreatePickupGroupInput): Promise<{
530
+ id: string;
531
+ name: string;
532
+ active: boolean;
533
+ createdAt: Date;
534
+ updatedAt: Date;
535
+ sortOrder: number;
536
+ description: string | null;
537
+ meetingConfigId: string;
538
+ kind: "pickup" | "dropoff" | "meeting";
539
+ } | undefined>;
540
+ updatePickupGroup(db: PostgresJsDatabase, id: string, data: UpdatePickupGroupInput): Promise<{
541
+ id: string;
542
+ meetingConfigId: string;
543
+ kind: "pickup" | "dropoff" | "meeting";
544
+ name: string;
545
+ description: string | null;
546
+ active: boolean;
547
+ sortOrder: number;
548
+ createdAt: Date;
549
+ updatedAt: Date;
550
+ } | null>;
551
+ deletePickupGroup(db: PostgresJsDatabase, id: string): Promise<{
552
+ id: string;
553
+ } | null>;
554
+ listPickupLocations(db: PostgresJsDatabase, query: PickupLocationListQuery): Promise<{
555
+ data: {
556
+ id: string;
557
+ groupId: string;
558
+ facilityId: string | null;
559
+ name: string;
560
+ description: string | null;
561
+ locationText: string | null;
562
+ leadTimeMinutes: number | null;
563
+ active: boolean;
564
+ sortOrder: number;
565
+ createdAt: Date;
566
+ updatedAt: Date;
567
+ }[];
568
+ total: number;
569
+ limit: number;
570
+ offset: number;
571
+ }>;
572
+ getPickupLocationById(db: PostgresJsDatabase, id: string): Promise<{
573
+ id: string;
574
+ groupId: string;
575
+ facilityId: string | null;
576
+ name: string;
577
+ description: string | null;
578
+ locationText: string | null;
579
+ leadTimeMinutes: number | null;
580
+ active: boolean;
581
+ sortOrder: number;
582
+ createdAt: Date;
583
+ updatedAt: Date;
584
+ } | null>;
585
+ createPickupLocation(db: PostgresJsDatabase, data: CreatePickupLocationInput): Promise<{
586
+ id: string;
587
+ name: string;
588
+ facilityId: string | null;
589
+ active: boolean;
590
+ createdAt: Date;
591
+ updatedAt: Date;
592
+ sortOrder: number;
593
+ description: string | null;
594
+ locationText: string | null;
595
+ groupId: string;
596
+ leadTimeMinutes: number | null;
597
+ } | undefined>;
598
+ updatePickupLocation(db: PostgresJsDatabase, id: string, data: UpdatePickupLocationInput): Promise<{
599
+ id: string;
600
+ groupId: string;
601
+ facilityId: string | null;
602
+ name: string;
603
+ description: string | null;
604
+ locationText: string | null;
605
+ leadTimeMinutes: number | null;
606
+ active: boolean;
607
+ sortOrder: number;
608
+ createdAt: Date;
609
+ updatedAt: Date;
610
+ } | null>;
611
+ deletePickupLocation(db: PostgresJsDatabase, id: string): Promise<{
612
+ id: string;
613
+ } | null>;
614
+ listLocationPickupTimes(db: PostgresJsDatabase, query: LocationPickupTimeListQuery): Promise<{
615
+ data: {
616
+ id: string;
617
+ pickupLocationId: string;
618
+ slotId: string | null;
619
+ startTimeId: string | null;
620
+ timingMode: "fixed_time" | "offset_from_start";
621
+ localTime: string | null;
622
+ offsetMinutes: number | null;
623
+ instructions: string | null;
624
+ initialCapacity: number | null;
625
+ remainingCapacity: number | null;
626
+ active: boolean;
627
+ createdAt: Date;
628
+ updatedAt: Date;
629
+ }[];
630
+ total: number;
631
+ limit: number;
632
+ offset: number;
633
+ }>;
634
+ getLocationPickupTimeById(db: PostgresJsDatabase, id: string): Promise<{
635
+ id: string;
636
+ pickupLocationId: string;
637
+ slotId: string | null;
638
+ startTimeId: string | null;
639
+ timingMode: "fixed_time" | "offset_from_start";
640
+ localTime: string | null;
641
+ offsetMinutes: number | null;
642
+ instructions: string | null;
643
+ initialCapacity: number | null;
644
+ remainingCapacity: number | null;
645
+ active: boolean;
646
+ createdAt: Date;
647
+ updatedAt: Date;
648
+ } | null>;
649
+ createLocationPickupTime(db: PostgresJsDatabase, data: CreateLocationPickupTimeInput): Promise<{
650
+ id: string;
651
+ localTime: string | null;
652
+ active: boolean;
653
+ createdAt: Date;
654
+ updatedAt: Date;
655
+ startTimeId: string | null;
656
+ slotId: string | null;
657
+ initialCapacity: number | null;
658
+ remainingCapacity: number | null;
659
+ pickupLocationId: string;
660
+ timingMode: "fixed_time" | "offset_from_start";
661
+ offsetMinutes: number | null;
662
+ instructions: string | null;
663
+ } | undefined>;
664
+ updateLocationPickupTime(db: PostgresJsDatabase, id: string, data: UpdateLocationPickupTimeInput): Promise<{
665
+ id: string;
666
+ pickupLocationId: string;
667
+ slotId: string | null;
668
+ startTimeId: string | null;
669
+ timingMode: "fixed_time" | "offset_from_start";
670
+ localTime: string | null;
671
+ offsetMinutes: number | null;
672
+ instructions: string | null;
673
+ initialCapacity: number | null;
674
+ remainingCapacity: number | null;
675
+ active: boolean;
676
+ createdAt: Date;
677
+ updatedAt: Date;
678
+ } | null>;
679
+ deleteLocationPickupTime(db: PostgresJsDatabase, id: string): Promise<{
680
+ id: string;
681
+ } | null>;
682
+ listCustomPickupAreas(db: PostgresJsDatabase, query: CustomPickupAreaListQuery): Promise<{
683
+ data: {
684
+ id: string;
685
+ meetingConfigId: string;
686
+ name: string;
687
+ description: string | null;
688
+ geographicText: string | null;
689
+ active: boolean;
690
+ createdAt: Date;
691
+ updatedAt: Date;
692
+ }[];
693
+ total: number;
694
+ limit: number;
695
+ offset: number;
696
+ }>;
697
+ getCustomPickupAreaById(db: PostgresJsDatabase, id: string): Promise<{
698
+ id: string;
699
+ meetingConfigId: string;
700
+ name: string;
701
+ description: string | null;
702
+ geographicText: string | null;
703
+ active: boolean;
704
+ createdAt: Date;
705
+ updatedAt: Date;
706
+ } | null>;
707
+ createCustomPickupArea(db: PostgresJsDatabase, data: CreateCustomPickupAreaInput): Promise<{
708
+ id: string;
709
+ name: string;
710
+ active: boolean;
711
+ createdAt: Date;
712
+ updatedAt: Date;
713
+ description: string | null;
714
+ meetingConfigId: string;
715
+ geographicText: string | null;
716
+ } | undefined>;
717
+ updateCustomPickupArea(db: PostgresJsDatabase, id: string, data: UpdateCustomPickupAreaInput): Promise<{
718
+ id: string;
719
+ meetingConfigId: string;
720
+ name: string;
721
+ description: string | null;
722
+ geographicText: string | null;
723
+ active: boolean;
724
+ createdAt: Date;
725
+ updatedAt: Date;
726
+ } | null>;
727
+ deleteCustomPickupArea(db: PostgresJsDatabase, id: string): Promise<{
728
+ id: string;
729
+ } | null>;
730
+ };
731
+ export {};
732
+ //# sourceMappingURL=service.d.ts.map