hububb-models 1.0.79 → 1.0.81

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.
@@ -1,3 +1,5 @@
1
- import { z } from "zod";
2
- import { ReservationSchema } from "../schemas/reservation";
1
+ import { infer, z } from "zod";
2
+ import { ReservationSchema, reservationCreateSchema } from "../schemas/reservation";
3
3
  export type Reservation = z.infer<typeof ReservationSchema>;
4
+ export interface ReservationCreateSchema extends infer<typeof reservationCreateSchema> {
5
+ }
@@ -304,29 +304,8 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
304
304
  amount: number;
305
305
  }>;
306
306
  }, "strip", import("zod").ZodTypeAny, {
307
- availableUnits: number;
308
- totalGrossAmount: {
309
- currency: string;
310
- amount: number;
311
- };
312
307
  arrival: string;
313
308
  departure: string;
314
- unitGroup: {
315
- type: string;
316
- code: string;
317
- id: string;
318
- name: string;
319
- description: string;
320
- maxPersons: number;
321
- };
322
- minGuaranteeType: string;
323
- ratePlan: {
324
- code: string;
325
- id: string;
326
- name: string;
327
- description: string;
328
- isSubjectToCityTax: boolean;
329
- };
330
309
  timeSlices: {
331
310
  from: string;
332
311
  to: string;
@@ -343,11 +322,32 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
343
322
  amount: number;
344
323
  };
345
324
  }[];
346
- isCorporate: boolean;
347
325
  prePaymentAmount: {
348
326
  currency: string;
349
327
  amount: number;
350
328
  };
329
+ availableUnits: number;
330
+ totalGrossAmount: {
331
+ currency: string;
332
+ amount: number;
333
+ };
334
+ unitGroup: {
335
+ type: string;
336
+ code: string;
337
+ id: string;
338
+ name: string;
339
+ description: string;
340
+ maxPersons: number;
341
+ };
342
+ minGuaranteeType: string;
343
+ ratePlan: {
344
+ code: string;
345
+ id: string;
346
+ name: string;
347
+ description: string;
348
+ isSubjectToCityTax: boolean;
349
+ };
350
+ isCorporate: boolean;
351
351
  cancellationFee?: {
352
352
  code: string;
353
353
  name: string;
@@ -392,29 +392,8 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
392
392
  };
393
393
  }[] | undefined;
394
394
  }, {
395
- availableUnits: number;
396
- totalGrossAmount: {
397
- currency: string;
398
- amount: number;
399
- };
400
395
  arrival: string;
401
396
  departure: string;
402
- unitGroup: {
403
- type: string;
404
- code: string;
405
- id: string;
406
- name: string;
407
- description: string;
408
- maxPersons: number;
409
- };
410
- minGuaranteeType: string;
411
- ratePlan: {
412
- code: string;
413
- id: string;
414
- name: string;
415
- description: string;
416
- isSubjectToCityTax: boolean;
417
- };
418
397
  timeSlices: {
419
398
  from: string;
420
399
  to: string;
@@ -431,11 +410,32 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
431
410
  amount: number;
432
411
  };
433
412
  }[];
434
- isCorporate: boolean;
435
413
  prePaymentAmount: {
436
414
  currency: string;
437
415
  amount: number;
438
416
  };
417
+ availableUnits: number;
418
+ totalGrossAmount: {
419
+ currency: string;
420
+ amount: number;
421
+ };
422
+ unitGroup: {
423
+ type: string;
424
+ code: string;
425
+ id: string;
426
+ name: string;
427
+ description: string;
428
+ maxPersons: number;
429
+ };
430
+ minGuaranteeType: string;
431
+ ratePlan: {
432
+ code: string;
433
+ id: string;
434
+ name: string;
435
+ description: string;
436
+ isSubjectToCityTax: boolean;
437
+ };
438
+ isCorporate: boolean;
439
439
  cancellationFee?: {
440
440
  code: string;
441
441
  name: string;
@@ -488,29 +488,8 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
488
488
  description: string;
489
489
  };
490
490
  offers: {
491
- availableUnits: number;
492
- totalGrossAmount: {
493
- currency: string;
494
- amount: number;
495
- };
496
491
  arrival: string;
497
492
  departure: string;
498
- unitGroup: {
499
- type: string;
500
- code: string;
501
- id: string;
502
- name: string;
503
- description: string;
504
- maxPersons: number;
505
- };
506
- minGuaranteeType: string;
507
- ratePlan: {
508
- code: string;
509
- id: string;
510
- name: string;
511
- description: string;
512
- isSubjectToCityTax: boolean;
513
- };
514
493
  timeSlices: {
515
494
  from: string;
516
495
  to: string;
@@ -527,11 +506,32 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
527
506
  amount: number;
528
507
  };
529
508
  }[];
530
- isCorporate: boolean;
531
509
  prePaymentAmount: {
532
510
  currency: string;
533
511
  amount: number;
534
512
  };
513
+ availableUnits: number;
514
+ totalGrossAmount: {
515
+ currency: string;
516
+ amount: number;
517
+ };
518
+ unitGroup: {
519
+ type: string;
520
+ code: string;
521
+ id: string;
522
+ name: string;
523
+ description: string;
524
+ maxPersons: number;
525
+ };
526
+ minGuaranteeType: string;
527
+ ratePlan: {
528
+ code: string;
529
+ id: string;
530
+ name: string;
531
+ description: string;
532
+ isSubjectToCityTax: boolean;
533
+ };
534
+ isCorporate: boolean;
535
535
  cancellationFee?: {
536
536
  code: string;
537
537
  name: string;
@@ -584,29 +584,8 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
584
584
  description: string;
585
585
  };
586
586
  offers: {
587
- availableUnits: number;
588
- totalGrossAmount: {
589
- currency: string;
590
- amount: number;
591
- };
592
587
  arrival: string;
593
588
  departure: string;
594
- unitGroup: {
595
- type: string;
596
- code: string;
597
- id: string;
598
- name: string;
599
- description: string;
600
- maxPersons: number;
601
- };
602
- minGuaranteeType: string;
603
- ratePlan: {
604
- code: string;
605
- id: string;
606
- name: string;
607
- description: string;
608
- isSubjectToCityTax: boolean;
609
- };
610
589
  timeSlices: {
611
590
  from: string;
612
591
  to: string;
@@ -623,11 +602,32 @@ export declare const ApaleoOfferSchema: import("zod").ZodObject<{
623
602
  amount: number;
624
603
  };
625
604
  }[];
626
- isCorporate: boolean;
627
605
  prePaymentAmount: {
628
606
  currency: string;
629
607
  amount: number;
630
608
  };
609
+ availableUnits: number;
610
+ totalGrossAmount: {
611
+ currency: string;
612
+ amount: number;
613
+ };
614
+ unitGroup: {
615
+ type: string;
616
+ code: string;
617
+ id: string;
618
+ name: string;
619
+ description: string;
620
+ maxPersons: number;
621
+ };
622
+ minGuaranteeType: string;
623
+ ratePlan: {
624
+ code: string;
625
+ id: string;
626
+ name: string;
627
+ description: string;
628
+ isSubjectToCityTax: boolean;
629
+ };
630
+ isCorporate: boolean;
631
631
  cancellationFee?: {
632
632
  code: string;
633
633
  name: string;
@@ -247,12 +247,13 @@ declare const apaleoReservationSchema: import("zod").ZodObject<{
247
247
  status: string;
248
248
  modified: string;
249
249
  adults: number;
250
+ arrival: string;
251
+ departure: string;
252
+ channelCode: string;
250
253
  totalGrossAmount: {
251
254
  currency: string;
252
255
  amount: number;
253
256
  };
254
- arrival: string;
255
- departure: string;
256
257
  unitGroup: {
257
258
  type: string;
258
259
  code: string;
@@ -287,7 +288,6 @@ declare const apaleoReservationSchema: import("zod").ZodObject<{
287
288
  };
288
289
  bookingId: string;
289
290
  created: string;
290
- channelCode: string;
291
291
  primaryGuest: {
292
292
  lastName: string;
293
293
  email?: string | undefined;
@@ -335,12 +335,13 @@ declare const apaleoReservationSchema: import("zod").ZodObject<{
335
335
  status: string;
336
336
  modified: string;
337
337
  adults: number;
338
+ arrival: string;
339
+ departure: string;
340
+ channelCode: string;
338
341
  totalGrossAmount: {
339
342
  currency: string;
340
343
  amount: number;
341
344
  };
342
- arrival: string;
343
- departure: string;
344
345
  unitGroup: {
345
346
  type: string;
346
347
  code: string;
@@ -375,7 +376,6 @@ declare const apaleoReservationSchema: import("zod").ZodObject<{
375
376
  };
376
377
  bookingId: string;
377
378
  created: string;
378
- channelCode: string;
379
379
  primaryGuest: {
380
380
  lastName: string;
381
381
  email?: string | undefined;
@@ -42,8 +42,8 @@ export declare const ChannexBookingSchema: import("zod").ZodObject<{
42
42
  address?: string | null | undefined;
43
43
  language?: string | null | undefined;
44
44
  country?: string | null | undefined;
45
- city?: string | null | undefined;
46
45
  phone?: string | null | undefined;
46
+ city?: string | null | undefined;
47
47
  zip?: string | null | undefined;
48
48
  mail?: string | null | undefined;
49
49
  }, {
@@ -52,8 +52,8 @@ export declare const ChannexBookingSchema: import("zod").ZodObject<{
52
52
  address?: string | null | undefined;
53
53
  language?: string | null | undefined;
54
54
  country?: string | null | undefined;
55
- city?: string | null | undefined;
56
55
  phone?: string | null | undefined;
56
+ city?: string | null | undefined;
57
57
  zip?: string | null | undefined;
58
58
  mail?: string | null | undefined;
59
59
  }>;
@@ -220,8 +220,8 @@ export declare const ChannexBookingSchema: import("zod").ZodObject<{
220
220
  address?: string | null | undefined;
221
221
  language?: string | null | undefined;
222
222
  country?: string | null | undefined;
223
- city?: string | null | undefined;
224
223
  phone?: string | null | undefined;
224
+ city?: string | null | undefined;
225
225
  zip?: string | null | undefined;
226
226
  mail?: string | null | undefined;
227
227
  };
@@ -297,8 +297,8 @@ export declare const ChannexBookingSchema: import("zod").ZodObject<{
297
297
  address?: string | null | undefined;
298
298
  language?: string | null | undefined;
299
299
  country?: string | null | undefined;
300
- city?: string | null | undefined;
301
300
  phone?: string | null | undefined;
301
+ city?: string | null | undefined;
302
302
  zip?: string | null | undefined;
303
303
  mail?: string | null | undefined;
304
304
  };
@@ -378,8 +378,8 @@ export declare const ChannexBookingSchema: import("zod").ZodObject<{
378
378
  address?: string | null | undefined;
379
379
  language?: string | null | undefined;
380
380
  country?: string | null | undefined;
381
- city?: string | null | undefined;
382
381
  phone?: string | null | undefined;
382
+ city?: string | null | undefined;
383
383
  zip?: string | null | undefined;
384
384
  mail?: string | null | undefined;
385
385
  };
@@ -459,8 +459,8 @@ export declare const ChannexBookingSchema: import("zod").ZodObject<{
459
459
  address?: string | null | undefined;
460
460
  language?: string | null | undefined;
461
461
  country?: string | null | undefined;
462
- city?: string | null | undefined;
463
462
  phone?: string | null | undefined;
463
+ city?: string | null | undefined;
464
464
  zip?: string | null | undefined;
465
465
  mail?: string | null | undefined;
466
466
  };
@@ -149,3 +149,124 @@ export declare const ReservationSchema: import("zod").ZodObject<{
149
149
  adults?: number | undefined;
150
150
  inboxId?: number | undefined;
151
151
  }>;
152
+ export declare const reservationCreateSchema: import("zod").ZodObject<{
153
+ booker: import("zod").ZodObject<{
154
+ firstName: import("zod").ZodString;
155
+ lastName: import("zod").ZodString;
156
+ email: import("zod").ZodString;
157
+ phone: import("zod").ZodString;
158
+ }, "strip", import("zod").ZodTypeAny, {
159
+ email: string;
160
+ firstName: string;
161
+ lastName: string;
162
+ phone: string;
163
+ }, {
164
+ email: string;
165
+ firstName: string;
166
+ lastName: string;
167
+ phone: string;
168
+ }>;
169
+ reservation: import("zod").ZodObject<{
170
+ arrival: import("zod").ZodString;
171
+ departure: import("zod").ZodString;
172
+ adults: import("zod").ZodNumber;
173
+ channelCode: import("zod").ZodLiteral<"Direct">;
174
+ guarenteeType: import("zod").ZodLiteral<"Prepayment">;
175
+ timeSlices: import("zod").ZodArray<import("zod").ZodObject<{
176
+ ratePlanId: import("zod").ZodString;
177
+ }, "strip", import("zod").ZodTypeAny, {
178
+ ratePlanId: string;
179
+ }, {
180
+ ratePlanId: string;
181
+ }>, "atleastone">;
182
+ prePaymentAmount: import("zod").ZodObject<{
183
+ amount: import("zod").ZodNumber;
184
+ currency: import("zod").ZodString;
185
+ }, "strip", import("zod").ZodTypeAny, {
186
+ currency: string;
187
+ amount: number;
188
+ }, {
189
+ currency: string;
190
+ amount: number;
191
+ }>;
192
+ }, "strip", import("zod").ZodTypeAny, {
193
+ adults: number;
194
+ arrival: string;
195
+ departure: string;
196
+ channelCode: "Direct";
197
+ guarenteeType: "Prepayment";
198
+ timeSlices: [{
199
+ ratePlanId: string;
200
+ }, ...{
201
+ ratePlanId: string;
202
+ }[]];
203
+ prePaymentAmount: {
204
+ currency: string;
205
+ amount: number;
206
+ };
207
+ }, {
208
+ adults: number;
209
+ arrival: string;
210
+ departure: string;
211
+ channelCode: "Direct";
212
+ guarenteeType: "Prepayment";
213
+ timeSlices: [{
214
+ ratePlanId: string;
215
+ }, ...{
216
+ ratePlanId: string;
217
+ }[]];
218
+ prePaymentAmount: {
219
+ currency: string;
220
+ amount: number;
221
+ };
222
+ }>;
223
+ transactionReference: import("zod").ZodString;
224
+ }, "strip", import("zod").ZodTypeAny, {
225
+ booker: {
226
+ email: string;
227
+ firstName: string;
228
+ lastName: string;
229
+ phone: string;
230
+ };
231
+ reservation: {
232
+ adults: number;
233
+ arrival: string;
234
+ departure: string;
235
+ channelCode: "Direct";
236
+ guarenteeType: "Prepayment";
237
+ timeSlices: [{
238
+ ratePlanId: string;
239
+ }, ...{
240
+ ratePlanId: string;
241
+ }[]];
242
+ prePaymentAmount: {
243
+ currency: string;
244
+ amount: number;
245
+ };
246
+ };
247
+ transactionReference: string;
248
+ }, {
249
+ booker: {
250
+ email: string;
251
+ firstName: string;
252
+ lastName: string;
253
+ phone: string;
254
+ };
255
+ reservation: {
256
+ adults: number;
257
+ arrival: string;
258
+ departure: string;
259
+ channelCode: "Direct";
260
+ guarenteeType: "Prepayment";
261
+ timeSlices: [{
262
+ ratePlanId: string;
263
+ }, ...{
264
+ ratePlanId: string;
265
+ }[]];
266
+ prePaymentAmount: {
267
+ currency: string;
268
+ amount: number;
269
+ };
270
+ };
271
+ transactionReference: string;
272
+ }>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReservationSchema = void 0;
3
+ exports.reservationCreateSchema = exports.ReservationSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const helpers_1 = require("../helpers");
6
6
  const GuestSchema = (0, zod_1.object)({
@@ -45,3 +45,33 @@ exports.ReservationSchema = (0, zod_1.object)({
45
45
  children: (0, zod_1.optional)((0, zod_1.number)()),
46
46
  inboxId: (0, zod_1.optional)((0, zod_1.number)()),
47
47
  });
48
+ const bookerSchema = (0, zod_1.object)({
49
+ firstName: (0, zod_1.string)().min(1, "First name is required"),
50
+ lastName: (0, zod_1.string)().min(1, "Last name is required"),
51
+ email: (0, zod_1.string)().email("Invalid email address"),
52
+ phone: (0, zod_1.string)().min(1, "Phone number is required"),
53
+ });
54
+ // Time Slice Schema
55
+ const timeSliceSchema = (0, zod_1.object)({
56
+ ratePlanId: (0, zod_1.string)().min(1, "Rate Plan ID is required"),
57
+ });
58
+ // PrePayment Amount Schema
59
+ const prePaymentAmountSchema = (0, zod_1.object)({
60
+ amount: (0, zod_1.number)().positive("Amount must be a positive number"),
61
+ currency: (0, zod_1.string)().length(3, "Currency code must be 3 characters long"),
62
+ });
63
+ // Reservation Schema
64
+ const reservationSchema = (0, zod_1.object)({
65
+ arrival: (0, zod_1.string)().min(1, "Arrival date is required"),
66
+ departure: (0, zod_1.string)().min(1, "Departure date is required"),
67
+ adults: (0, zod_1.number)().min(1, "At least one adult is required"),
68
+ channelCode: (0, zod_1.literal)("Direct"),
69
+ guarenteeType: (0, zod_1.literal)("Prepayment"),
70
+ timeSlices: (0, zod_1.array)(timeSliceSchema).nonempty("At least one time slice is required"),
71
+ prePaymentAmount: prePaymentAmountSchema,
72
+ });
73
+ exports.reservationCreateSchema = (0, zod_1.object)({
74
+ booker: bookerSchema,
75
+ reservation: reservationSchema,
76
+ transactionReference: (0, zod_1.string)().min(1, "Transaction reference is required"),
77
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hububb-models",
3
- "version": "1.0.79",
3
+ "version": "1.0.81",
4
4
  "description": "Models for Hububb application",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",