@voyant-travel/charters 0.117.2

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 (108) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +16 -0
  3. package/dist/adapters/index.d.ts +254 -0
  4. package/dist/adapters/index.d.ts.map +1 -0
  5. package/dist/adapters/index.js +16 -0
  6. package/dist/adapters/memoize.d.ts +28 -0
  7. package/dist/adapters/memoize.d.ts.map +1 -0
  8. package/dist/adapters/memoize.js +121 -0
  9. package/dist/adapters/mock.d.ts +50 -0
  10. package/dist/adapters/mock.d.ts.map +1 -0
  11. package/dist/adapters/mock.js +194 -0
  12. package/dist/adapters/registry.d.ts +24 -0
  13. package/dist/adapters/registry.d.ts.map +1 -0
  14. package/dist/adapters/registry.js +40 -0
  15. package/dist/booking-extension.d.ts +895 -0
  16. package/dist/booking-extension.d.ts.map +1 -0
  17. package/dist/booking-extension.js +339 -0
  18. package/dist/catalog-policy.d.ts +23 -0
  19. package/dist/catalog-policy.d.ts.map +1 -0
  20. package/dist/catalog-policy.js +400 -0
  21. package/dist/content-shape.d.ts +5 -0
  22. package/dist/content-shape.d.ts.map +1 -0
  23. package/dist/content-shape.js +13 -0
  24. package/dist/draft-shape.d.ts +29 -0
  25. package/dist/draft-shape.d.ts.map +1 -0
  26. package/dist/draft-shape.js +63 -0
  27. package/dist/index.d.ts +31 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +55 -0
  30. package/dist/lib/key.d.ts +22 -0
  31. package/dist/lib/key.d.ts.map +1 -0
  32. package/dist/lib/key.js +24 -0
  33. package/dist/routes-public.d.ts +785 -0
  34. package/dist/routes-public.d.ts.map +1 -0
  35. package/dist/routes-public.js +234 -0
  36. package/dist/routes.d.ts +1744 -0
  37. package/dist/routes.d.ts.map +1 -0
  38. package/dist/routes.js +543 -0
  39. package/dist/schema-core.d.ts +815 -0
  40. package/dist/schema-core.d.ts.map +1 -0
  41. package/dist/schema-core.js +98 -0
  42. package/dist/schema-itinerary.d.ts +239 -0
  43. package/dist/schema-itinerary.d.ts.map +1 -0
  44. package/dist/schema-itinerary.js +30 -0
  45. package/dist/schema-pricing.d.ts +385 -0
  46. package/dist/schema-pricing.d.ts.map +1 -0
  47. package/dist/schema-pricing.js +62 -0
  48. package/dist/schema-shared.d.ts +8 -0
  49. package/dist/schema-shared.d.ts.map +1 -0
  50. package/dist/schema-shared.js +37 -0
  51. package/dist/schema-sourced-content.d.ts +253 -0
  52. package/dist/schema-sourced-content.d.ts.map +1 -0
  53. package/dist/schema-sourced-content.js +44 -0
  54. package/dist/schema-yachts.d.ts +367 -0
  55. package/dist/schema-yachts.d.ts.map +1 -0
  56. package/dist/schema-yachts.js +30 -0
  57. package/dist/schema.d.ts +8 -0
  58. package/dist/schema.d.ts.map +1 -0
  59. package/dist/schema.js +7 -0
  60. package/dist/service-bookings-helpers.d.ts +20 -0
  61. package/dist/service-bookings-helpers.d.ts.map +1 -0
  62. package/dist/service-bookings-helpers.js +67 -0
  63. package/dist/service-bookings-local.d.ts +5 -0
  64. package/dist/service-bookings-local.d.ts.map +1 -0
  65. package/dist/service-bookings-local.js +177 -0
  66. package/dist/service-bookings-types.d.ts +88 -0
  67. package/dist/service-bookings-types.d.ts.map +1 -0
  68. package/dist/service-bookings-types.js +1 -0
  69. package/dist/service-bookings.d.ts +36 -0
  70. package/dist/service-bookings.d.ts.map +1 -0
  71. package/dist/service-bookings.js +267 -0
  72. package/dist/service-catalog-plane.d.ts +58 -0
  73. package/dist/service-catalog-plane.d.ts.map +1 -0
  74. package/dist/service-catalog-plane.js +145 -0
  75. package/dist/service-content-synthesizer.d.ts +42 -0
  76. package/dist/service-content-synthesizer.d.ts.map +1 -0
  77. package/dist/service-content-synthesizer.js +122 -0
  78. package/dist/service-content.d.ts +43 -0
  79. package/dist/service-content.d.ts.map +1 -0
  80. package/dist/service-content.js +248 -0
  81. package/dist/service-myba.d.ts +85 -0
  82. package/dist/service-myba.d.ts.map +1 -0
  83. package/dist/service-myba.js +88 -0
  84. package/dist/service-pricing.d.ts +64 -0
  85. package/dist/service-pricing.d.ts.map +1 -0
  86. package/dist/service-pricing.js +167 -0
  87. package/dist/service.d.ts +131 -0
  88. package/dist/service.d.ts.map +1 -0
  89. package/dist/service.js +279 -0
  90. package/dist/validation-core.d.ts +152 -0
  91. package/dist/validation-core.d.ts.map +1 -0
  92. package/dist/validation-core.js +66 -0
  93. package/dist/validation-itinerary.d.ts +43 -0
  94. package/dist/validation-itinerary.d.ts.map +1 -0
  95. package/dist/validation-itinerary.js +19 -0
  96. package/dist/validation-pricing.d.ts +103 -0
  97. package/dist/validation-pricing.d.ts.map +1 -0
  98. package/dist/validation-pricing.js +28 -0
  99. package/dist/validation-shared.d.ts +61 -0
  100. package/dist/validation-shared.d.ts.map +1 -0
  101. package/dist/validation-shared.js +60 -0
  102. package/dist/validation-yachts.d.ts +76 -0
  103. package/dist/validation-yachts.d.ts.map +1 -0
  104. package/dist/validation-yachts.js +36 -0
  105. package/dist/validation.d.ts +6 -0
  106. package/dist/validation.d.ts.map +1 -0
  107. package/dist/validation.js +5 -0
  108. package/package.json +116 -0
@@ -0,0 +1,152 @@
1
+ import { z } from "./validation-shared.js";
2
+ export declare const insertProductSchema: z.ZodObject<{
3
+ slug: z.ZodString;
4
+ name: z.ZodString;
5
+ lineSupplierId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
6
+ defaultYachtId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
7
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
8
+ shortDescription: z.ZodNullable<z.ZodOptional<z.ZodString>>;
9
+ heroImageUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
10
+ mapImageUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
11
+ regions: z.ZodDefault<z.ZodArray<z.ZodString>>;
12
+ themes: z.ZodDefault<z.ZodArray<z.ZodString>>;
13
+ status: z.ZodDefault<z.ZodEnum<{
14
+ live: "live";
15
+ draft: "draft";
16
+ awaiting_review: "awaiting_review";
17
+ archived: "archived";
18
+ }>>;
19
+ defaultBookingModes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
20
+ per_suite: "per_suite";
21
+ whole_yacht: "whole_yacht";
22
+ }>>>;
23
+ defaultMybaTemplateId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
24
+ defaultApaPercent: z.ZodNullable<z.ZodOptional<z.ZodString>>;
25
+ externalRefs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
26
+ }, z.core.$strip>;
27
+ export declare const updateProductSchema: z.ZodObject<{
28
+ slug: z.ZodOptional<z.ZodString>;
29
+ name: z.ZodOptional<z.ZodString>;
30
+ lineSupplierId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
31
+ defaultYachtId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
32
+ description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
33
+ shortDescription: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
34
+ heroImageUrl: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
35
+ mapImageUrl: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
36
+ regions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
37
+ themes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
38
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
39
+ live: "live";
40
+ draft: "draft";
41
+ awaiting_review: "awaiting_review";
42
+ archived: "archived";
43
+ }>>>;
44
+ defaultBookingModes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<{
45
+ per_suite: "per_suite";
46
+ whole_yacht: "whole_yacht";
47
+ }>>>>;
48
+ defaultMybaTemplateId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
49
+ defaultApaPercent: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
50
+ externalRefs: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
51
+ }, z.core.$strip>;
52
+ export declare const productListQuerySchema: z.ZodObject<{
53
+ status: z.ZodOptional<z.ZodEnum<{
54
+ live: "live";
55
+ draft: "draft";
56
+ awaiting_review: "awaiting_review";
57
+ archived: "archived";
58
+ }>>;
59
+ lineSupplierId: z.ZodOptional<z.ZodString>;
60
+ region: z.ZodOptional<z.ZodString>;
61
+ search: z.ZodOptional<z.ZodString>;
62
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
63
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
64
+ }, z.core.$strip>;
65
+ export type InsertProduct = z.infer<typeof insertProductSchema>;
66
+ export type UpdateProduct = z.infer<typeof updateProductSchema>;
67
+ export type ProductListQuery = z.infer<typeof productListQuerySchema>;
68
+ export declare const insertVoyageSchema: z.ZodObject<{
69
+ productId: z.ZodString;
70
+ yachtId: z.ZodString;
71
+ voyageCode: z.ZodString;
72
+ name: z.ZodNullable<z.ZodOptional<z.ZodString>>;
73
+ embarkPortFacilityId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
74
+ embarkPortName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
75
+ disembarkPortFacilityId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
76
+ disembarkPortName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
77
+ departureDate: z.ZodString;
78
+ returnDate: z.ZodString;
79
+ nights: z.ZodNumber;
80
+ bookingModes: z.ZodDefault<z.ZodArray<z.ZodEnum<{
81
+ per_suite: "per_suite";
82
+ whole_yacht: "whole_yacht";
83
+ }>>>;
84
+ appointmentOnly: z.ZodDefault<z.ZodBoolean>;
85
+ wholeYachtPricesByCurrency: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
86
+ apaPercentOverride: z.ZodNullable<z.ZodOptional<z.ZodString>>;
87
+ mybaTemplateIdOverride: z.ZodNullable<z.ZodOptional<z.ZodString>>;
88
+ charterAreaOverride: z.ZodNullable<z.ZodOptional<z.ZodString>>;
89
+ salesStatus: z.ZodDefault<z.ZodEnum<{
90
+ open: "open";
91
+ on_request: "on_request";
92
+ wait_list: "wait_list";
93
+ sold_out: "sold_out";
94
+ closed: "closed";
95
+ }>>;
96
+ availabilityNote: z.ZodNullable<z.ZodOptional<z.ZodString>>;
97
+ externalRefs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
98
+ }, z.core.$strip>;
99
+ export declare const updateVoyageSchema: z.ZodObject<{
100
+ productId: z.ZodOptional<z.ZodString>;
101
+ yachtId: z.ZodOptional<z.ZodString>;
102
+ voyageCode: z.ZodOptional<z.ZodString>;
103
+ name: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
104
+ embarkPortFacilityId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
105
+ embarkPortName: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
106
+ disembarkPortFacilityId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
107
+ disembarkPortName: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
108
+ departureDate: z.ZodOptional<z.ZodString>;
109
+ returnDate: z.ZodOptional<z.ZodString>;
110
+ nights: z.ZodOptional<z.ZodNumber>;
111
+ bookingModes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<{
112
+ per_suite: "per_suite";
113
+ whole_yacht: "whole_yacht";
114
+ }>>>>;
115
+ appointmentOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
116
+ wholeYachtPricesByCurrency: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
117
+ apaPercentOverride: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
118
+ mybaTemplateIdOverride: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
119
+ charterAreaOverride: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
120
+ salesStatus: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
121
+ open: "open";
122
+ on_request: "on_request";
123
+ wait_list: "wait_list";
124
+ sold_out: "sold_out";
125
+ closed: "closed";
126
+ }>>>;
127
+ availabilityNote: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
128
+ externalRefs: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
129
+ }, z.core.$strip>;
130
+ export declare const voyageListQuerySchema: z.ZodObject<{
131
+ productId: z.ZodOptional<z.ZodString>;
132
+ yachtId: z.ZodOptional<z.ZodString>;
133
+ dateFrom: z.ZodOptional<z.ZodString>;
134
+ dateTo: z.ZodOptional<z.ZodString>;
135
+ salesStatus: z.ZodOptional<z.ZodEnum<{
136
+ open: "open";
137
+ on_request: "on_request";
138
+ wait_list: "wait_list";
139
+ sold_out: "sold_out";
140
+ closed: "closed";
141
+ }>>;
142
+ bookingMode: z.ZodOptional<z.ZodEnum<{
143
+ per_suite: "per_suite";
144
+ whole_yacht: "whole_yacht";
145
+ }>>;
146
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
147
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
148
+ }, z.core.$strip>;
149
+ export type InsertVoyage = z.infer<typeof insertVoyageSchema>;
150
+ export type UpdateVoyage = z.infer<typeof updateVoyageSchema>;
151
+ export type VoyageListQuery = z.infer<typeof voyageListQuerySchema>;
152
+ //# sourceMappingURL=validation-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-core.d.ts","sourceRoot":"","sources":["../src/validation-core.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,CAAC,EACF,MAAM,wBAAwB,CAAA;AAoB/B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;iBAAoB,CAAA;AACpD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;iBAA8B,CAAA;AAE9D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;iBAOjC,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAgCrE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAmB,CAAA;AAClD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6B,CAAA;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAShC,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,66 @@
1
+ import { charterBookingModeSchema, charterStatusSchema, externalRefsSchema, isoDateSchema, percentStringSchema, pricesByCurrencySchema, slugSchema, voyageSalesStatusSchema, z, } from "./validation-shared.js";
2
+ const productCoreSchema = z.object({
3
+ slug: slugSchema,
4
+ name: z.string().min(1).max(255),
5
+ lineSupplierId: z.string().optional().nullable(),
6
+ defaultYachtId: z.string().optional().nullable(),
7
+ description: z.string().optional().nullable(),
8
+ shortDescription: z.string().optional().nullable(),
9
+ heroImageUrl: z.string().url().optional().nullable(),
10
+ mapImageUrl: z.string().url().optional().nullable(),
11
+ regions: z.array(z.string()).default([]),
12
+ themes: z.array(z.string()).default([]),
13
+ status: charterStatusSchema.default("draft"),
14
+ defaultBookingModes: z.array(charterBookingModeSchema).min(1).default(["per_suite"]),
15
+ defaultMybaTemplateId: z.string().optional().nullable(),
16
+ defaultApaPercent: percentStringSchema.optional().nullable(),
17
+ externalRefs: externalRefsSchema,
18
+ });
19
+ export const insertProductSchema = productCoreSchema;
20
+ export const updateProductSchema = productCoreSchema.partial();
21
+ export const productListQuerySchema = z.object({
22
+ status: charterStatusSchema.optional(),
23
+ lineSupplierId: z.string().optional(),
24
+ region: z.string().optional(),
25
+ search: z.string().optional(),
26
+ limit: z.coerce.number().int().min(1).max(100).default(50),
27
+ offset: z.coerce.number().int().min(0).default(0),
28
+ });
29
+ const voyageCoreSchema = z.object({
30
+ productId: z.string(),
31
+ yachtId: z.string(),
32
+ voyageCode: z.string().min(1).max(100),
33
+ name: z.string().optional().nullable(),
34
+ embarkPortFacilityId: z.string().optional().nullable(),
35
+ embarkPortName: z.string().optional().nullable(),
36
+ disembarkPortFacilityId: z.string().optional().nullable(),
37
+ disembarkPortName: z.string().optional().nullable(),
38
+ departureDate: isoDateSchema,
39
+ returnDate: isoDateSchema,
40
+ nights: z.number().int().positive(),
41
+ bookingModes: z.array(charterBookingModeSchema).min(1).default(["per_suite"]),
42
+ appointmentOnly: z.boolean().default(false),
43
+ /**
44
+ * Per-currency whole-yacht price map. Adding a new currency is a data
45
+ * change, not a schema change.
46
+ */
47
+ wholeYachtPricesByCurrency: pricesByCurrencySchema.default({}),
48
+ apaPercentOverride: percentStringSchema.optional().nullable(),
49
+ mybaTemplateIdOverride: z.string().optional().nullable(),
50
+ charterAreaOverride: z.string().optional().nullable(),
51
+ salesStatus: voyageSalesStatusSchema.default("open"),
52
+ availabilityNote: z.string().optional().nullable(),
53
+ externalRefs: externalRefsSchema,
54
+ });
55
+ export const insertVoyageSchema = voyageCoreSchema;
56
+ export const updateVoyageSchema = voyageCoreSchema.partial();
57
+ export const voyageListQuerySchema = z.object({
58
+ productId: z.string().optional(),
59
+ yachtId: z.string().optional(),
60
+ dateFrom: isoDateSchema.optional(),
61
+ dateTo: isoDateSchema.optional(),
62
+ salesStatus: voyageSalesStatusSchema.optional(),
63
+ bookingMode: charterBookingModeSchema.optional(),
64
+ limit: z.coerce.number().int().min(1).max(100).default(50),
65
+ offset: z.coerce.number().int().min(0).default(0),
66
+ });
@@ -0,0 +1,43 @@
1
+ import { z } from "./validation-shared.js";
2
+ export declare const insertScheduleDaySchema: z.ZodObject<{
3
+ voyageId: z.ZodString;
4
+ dayNumber: z.ZodNumber;
5
+ portFacilityId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
6
+ portName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
7
+ scheduleDate: z.ZodNullable<z.ZodOptional<z.ZodString>>;
8
+ arrivalTime: z.ZodNullable<z.ZodOptional<z.ZodString>>;
9
+ departureTime: z.ZodNullable<z.ZodOptional<z.ZodString>>;
10
+ isSeaDay: z.ZodDefault<z.ZodBoolean>;
11
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
12
+ activities: z.ZodDefault<z.ZodArray<z.ZodString>>;
13
+ }, z.core.$strip>;
14
+ export declare const updateScheduleDaySchema: z.ZodObject<{
15
+ voyageId: z.ZodOptional<z.ZodString>;
16
+ dayNumber: z.ZodOptional<z.ZodNumber>;
17
+ portFacilityId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
18
+ portName: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
19
+ scheduleDate: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
20
+ arrivalTime: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
21
+ departureTime: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
22
+ isSeaDay: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
23
+ description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
24
+ activities: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
25
+ }, z.core.$strip>;
26
+ export declare const replaceVoyageScheduleSchema: z.ZodObject<{
27
+ voyageId: z.ZodString;
28
+ days: z.ZodArray<z.ZodObject<{
29
+ activities: z.ZodDefault<z.ZodArray<z.ZodString>>;
30
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
31
+ dayNumber: z.ZodNumber;
32
+ portFacilityId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
33
+ portName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
34
+ scheduleDate: z.ZodNullable<z.ZodOptional<z.ZodString>>;
35
+ arrivalTime: z.ZodNullable<z.ZodOptional<z.ZodString>>;
36
+ departureTime: z.ZodNullable<z.ZodOptional<z.ZodString>>;
37
+ isSeaDay: z.ZodDefault<z.ZodBoolean>;
38
+ }, z.core.$strip>>;
39
+ }, z.core.$strip>;
40
+ export type InsertScheduleDay = z.infer<typeof insertScheduleDaySchema>;
41
+ export type UpdateScheduleDay = z.infer<typeof updateScheduleDaySchema>;
42
+ export type ReplaceVoyageSchedule = z.infer<typeof replaceVoyageScheduleSchema>;
43
+ //# sourceMappingURL=validation-itinerary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-itinerary.d.ts","sourceRoot":"","sources":["../src/validation-itinerary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,CAAC,EAAE,MAAM,wBAAwB,CAAA;AAezD,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAAwB,CAAA;AAC5D,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAAkC,CAAA;AACtE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;iBAGtC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { isoDateSchema, z } from "./validation-shared.js";
2
+ const scheduleDayCoreSchema = z.object({
3
+ voyageId: z.string(),
4
+ dayNumber: z.number().int().min(1).max(365),
5
+ portFacilityId: z.string().optional().nullable(),
6
+ portName: z.string().optional().nullable(),
7
+ scheduleDate: isoDateSchema.optional().nullable(),
8
+ arrivalTime: z.string().optional().nullable(),
9
+ departureTime: z.string().optional().nullable(),
10
+ isSeaDay: z.boolean().default(false),
11
+ description: z.string().optional().nullable(),
12
+ activities: z.array(z.string()).default([]),
13
+ });
14
+ export const insertScheduleDaySchema = scheduleDayCoreSchema;
15
+ export const updateScheduleDaySchema = scheduleDayCoreSchema.partial();
16
+ export const replaceVoyageScheduleSchema = z.object({
17
+ voyageId: z.string(),
18
+ days: z.array(scheduleDayCoreSchema.omit({ voyageId: true })),
19
+ });
@@ -0,0 +1,103 @@
1
+ import { z } from "./validation-shared.js";
2
+ export declare const insertSuiteSchema: z.ZodObject<{
3
+ voyageId: z.ZodString;
4
+ suiteCode: z.ZodString;
5
+ suiteName: z.ZodString;
6
+ suiteCategory: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
7
+ standard: "standard";
8
+ deluxe: "deluxe";
9
+ suite: "suite";
10
+ penthouse: "penthouse";
11
+ owners: "owners";
12
+ signature: "signature";
13
+ }>>>;
14
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
15
+ squareFeet: z.ZodNullable<z.ZodOptional<z.ZodString>>;
16
+ images: z.ZodDefault<z.ZodArray<z.ZodString>>;
17
+ floorplanImages: z.ZodDefault<z.ZodArray<z.ZodString>>;
18
+ maxGuests: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
19
+ pricesByCurrency: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
20
+ portFeesByCurrency: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
21
+ availability: z.ZodDefault<z.ZodEnum<{
22
+ available: "available";
23
+ on_request: "on_request";
24
+ wait_list: "wait_list";
25
+ sold_out: "sold_out";
26
+ limited: "limited";
27
+ }>>;
28
+ unitsAvailable: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
29
+ appointmentOnly: z.ZodDefault<z.ZodBoolean>;
30
+ notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
31
+ extra: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
32
+ externalRefs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
33
+ }, z.core.$strip>;
34
+ export declare const updateSuiteSchema: z.ZodObject<{
35
+ voyageId: z.ZodOptional<z.ZodString>;
36
+ suiteCode: z.ZodOptional<z.ZodString>;
37
+ suiteName: z.ZodOptional<z.ZodString>;
38
+ suiteCategory: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodEnum<{
39
+ standard: "standard";
40
+ deluxe: "deluxe";
41
+ suite: "suite";
42
+ penthouse: "penthouse";
43
+ owners: "owners";
44
+ signature: "signature";
45
+ }>>>>;
46
+ description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
47
+ squareFeet: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
48
+ images: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
49
+ floorplanImages: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
50
+ maxGuests: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
51
+ pricesByCurrency: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
52
+ portFeesByCurrency: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
53
+ availability: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
54
+ available: "available";
55
+ on_request: "on_request";
56
+ wait_list: "wait_list";
57
+ sold_out: "sold_out";
58
+ limited: "limited";
59
+ }>>>;
60
+ unitsAvailable: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
61
+ appointmentOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
62
+ notes: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
63
+ extra: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
64
+ externalRefs: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
65
+ }, z.core.$strip>;
66
+ export declare const replaceVoyageSuitesSchema: z.ZodObject<{
67
+ voyageId: z.ZodString;
68
+ suites: z.ZodArray<z.ZodObject<{
69
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
70
+ notes: z.ZodNullable<z.ZodOptional<z.ZodString>>;
71
+ externalRefs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
72
+ images: z.ZodDefault<z.ZodArray<z.ZodString>>;
73
+ appointmentOnly: z.ZodDefault<z.ZodBoolean>;
74
+ suiteCode: z.ZodString;
75
+ suiteName: z.ZodString;
76
+ suiteCategory: z.ZodNullable<z.ZodOptional<z.ZodEnum<{
77
+ standard: "standard";
78
+ deluxe: "deluxe";
79
+ suite: "suite";
80
+ penthouse: "penthouse";
81
+ owners: "owners";
82
+ signature: "signature";
83
+ }>>>;
84
+ squareFeet: z.ZodNullable<z.ZodOptional<z.ZodString>>;
85
+ floorplanImages: z.ZodDefault<z.ZodArray<z.ZodString>>;
86
+ maxGuests: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
87
+ pricesByCurrency: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
88
+ portFeesByCurrency: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
89
+ availability: z.ZodDefault<z.ZodEnum<{
90
+ available: "available";
91
+ on_request: "on_request";
92
+ wait_list: "wait_list";
93
+ sold_out: "sold_out";
94
+ limited: "limited";
95
+ }>>;
96
+ unitsAvailable: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
97
+ extra: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
98
+ }, z.core.$strip>>;
99
+ }, z.core.$strip>;
100
+ export type InsertSuite = z.infer<typeof insertSuiteSchema>;
101
+ export type UpdateSuite = z.infer<typeof updateSuiteSchema>;
102
+ export type ReplaceVoyageSuites = z.infer<typeof replaceVoyageSuitesSchema>;
103
+ //# sourceMappingURL=validation-pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-pricing.d.ts","sourceRoot":"","sources":["../src/validation-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,CAAC,EACF,MAAM,wBAAwB,CAAA;AA2B/B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkB,CAAA;AAChD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4B,CAAA;AAE1D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGpC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { externalRefsSchema, pricesByCurrencySchema, suiteAvailabilitySchema, suiteCategorySchema, z, } from "./validation-shared.js";
2
+ const suiteCoreSchema = z.object({
3
+ voyageId: z.string(),
4
+ suiteCode: z.string().min(1).max(100),
5
+ suiteName: z.string().min(1).max(255),
6
+ suiteCategory: suiteCategorySchema.optional().nullable(),
7
+ description: z.string().optional().nullable(),
8
+ squareFeet: z.string().optional().nullable(),
9
+ images: z.array(z.string()).default([]),
10
+ floorplanImages: z.array(z.string()).default([]),
11
+ maxGuests: z.number().int().min(1).max(20).optional().nullable(),
12
+ /** Per-currency suite price map. Adding a new currency is data-only. */
13
+ pricesByCurrency: pricesByCurrencySchema.default({}),
14
+ /** Optional per-currency port fee map, separate from suite price. */
15
+ portFeesByCurrency: pricesByCurrencySchema.default({}),
16
+ availability: suiteAvailabilitySchema.default("available"),
17
+ unitsAvailable: z.number().int().nonnegative().optional().nullable(),
18
+ appointmentOnly: z.boolean().default(false),
19
+ notes: z.string().optional().nullable(),
20
+ extra: z.record(z.string(), z.unknown()).default({}),
21
+ externalRefs: externalRefsSchema,
22
+ });
23
+ export const insertSuiteSchema = suiteCoreSchema;
24
+ export const updateSuiteSchema = suiteCoreSchema.partial();
25
+ export const replaceVoyageSuitesSchema = z.object({
26
+ voyageId: z.string(),
27
+ suites: z.array(suiteCoreSchema.omit({ voyageId: true })),
28
+ });
@@ -0,0 +1,61 @@
1
+ import { booleanQueryParam } from "@voyant-travel/db/helpers";
2
+ import { typeIdSchema } from "@voyant-travel/db/lib/typeid";
3
+ import { z } from "zod";
4
+ export { booleanQueryParam, typeIdSchema, z };
5
+ export declare const charterStatusSchema: z.ZodEnum<{
6
+ live: "live";
7
+ draft: "draft";
8
+ awaiting_review: "awaiting_review";
9
+ archived: "archived";
10
+ }>;
11
+ export declare const charterSourceSchema: z.ZodEnum<{
12
+ local: "local";
13
+ external: "external";
14
+ }>;
15
+ export declare const yachtClassSchema: z.ZodEnum<{
16
+ luxury_motor: "luxury_motor";
17
+ luxury_sailing: "luxury_sailing";
18
+ expedition: "expedition";
19
+ small_cruise: "small_cruise";
20
+ }>;
21
+ export declare const voyageSalesStatusSchema: z.ZodEnum<{
22
+ open: "open";
23
+ on_request: "on_request";
24
+ wait_list: "wait_list";
25
+ sold_out: "sold_out";
26
+ closed: "closed";
27
+ }>;
28
+ export declare const suiteCategorySchema: z.ZodEnum<{
29
+ standard: "standard";
30
+ deluxe: "deluxe";
31
+ suite: "suite";
32
+ penthouse: "penthouse";
33
+ owners: "owners";
34
+ signature: "signature";
35
+ }>;
36
+ export declare const suiteAvailabilitySchema: z.ZodEnum<{
37
+ available: "available";
38
+ on_request: "on_request";
39
+ wait_list: "wait_list";
40
+ sold_out: "sold_out";
41
+ limited: "limited";
42
+ }>;
43
+ export declare const charterBookingModeSchema: z.ZodEnum<{
44
+ per_suite: "per_suite";
45
+ whole_yacht: "whole_yacht";
46
+ }>;
47
+ export declare const isoDateSchema: z.ZodString;
48
+ export declare const currencyCodeSchema: z.ZodString;
49
+ export declare const slugSchema: z.ZodString;
50
+ export declare const moneyStringSchema: z.ZodString;
51
+ export declare const percentStringSchema: z.ZodString;
52
+ export declare const externalRefsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
53
+ /**
54
+ * Per-currency amount map: `{ "USD": "1500.00", "EUR": "1380.00" }`. Empty
55
+ * map / missing key means the entity is not priced in that currency.
56
+ * Charter pricing stores per-currency amounts as data (this map) rather
57
+ * than encoding currencies as schema columns, so adding a new currency
58
+ * is a content change, not a migration. See #355.
59
+ */
60
+ export declare const pricesByCurrencySchema: z.ZodRecord<z.ZodString, z.ZodString>;
61
+ //# 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,2BAA2B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;AAE7C,eAAO,MAAM,mBAAmB;;;;;EAA2D,CAAA;AAC3F,eAAO,MAAM,mBAAmB;;;EAAgC,CAAA;AAChE,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAA;AACF,eAAO,MAAM,mBAAmB;;;;;;;EAO9B,CAAA;AACF,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAA;AACF,eAAO,MAAM,wBAAwB;;;EAAuC,CAAA;AAE5E,eAAO,MAAM,aAAa,aAAsE,CAAA;AAChG,eAAO,MAAM,kBAAkB,aAGiB,CAAA;AAChD,eAAO,MAAM,UAAU,aAIiD,CAAA;AAExE,eAAO,MAAM,iBAAiB,aAEkC,CAAA;AAEhE,eAAO,MAAM,mBAAmB,aAEiD,CAAA;AAEjF,eAAO,MAAM,kBAAkB,qDAA+C,CAAA;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,uCAAkD,CAAA"}
@@ -0,0 +1,60 @@
1
+ import { booleanQueryParam } from "@voyant-travel/db/helpers";
2
+ import { typeIdSchema } from "@voyant-travel/db/lib/typeid";
3
+ import { z } from "zod";
4
+ export { booleanQueryParam, typeIdSchema, z };
5
+ export const charterStatusSchema = z.enum(["draft", "awaiting_review", "live", "archived"]);
6
+ export const charterSourceSchema = z.enum(["local", "external"]);
7
+ export const yachtClassSchema = z.enum([
8
+ "luxury_motor",
9
+ "luxury_sailing",
10
+ "expedition",
11
+ "small_cruise",
12
+ ]);
13
+ export const voyageSalesStatusSchema = z.enum([
14
+ "open",
15
+ "on_request",
16
+ "wait_list",
17
+ "sold_out",
18
+ "closed",
19
+ ]);
20
+ export const suiteCategorySchema = z.enum([
21
+ "standard",
22
+ "deluxe",
23
+ "suite",
24
+ "penthouse",
25
+ "owners",
26
+ "signature",
27
+ ]);
28
+ export const suiteAvailabilitySchema = z.enum([
29
+ "available",
30
+ "limited",
31
+ "on_request",
32
+ "wait_list",
33
+ "sold_out",
34
+ ]);
35
+ export const charterBookingModeSchema = z.enum(["per_suite", "whole_yacht"]);
36
+ export const isoDateSchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Expected YYYY-MM-DD date");
37
+ export const currencyCodeSchema = z
38
+ .string()
39
+ .length(3)
40
+ .regex(/^[A-Z]{3}$/, "Expected ISO 4217 code");
41
+ export const slugSchema = z
42
+ .string()
43
+ .min(1)
44
+ .max(255)
45
+ .regex(/^[a-z0-9][a-z0-9-]*$/, "Expected lowercase slug with hyphens");
46
+ export const moneyStringSchema = z
47
+ .string()
48
+ .regex(/^-?\d+(\.\d{1,2})?$/, "Expected decimal money string");
49
+ export const percentStringSchema = z
50
+ .string()
51
+ .regex(/^-?\d+(\.\d{1,2})?$/, "Expected decimal percent string (e.g. '27.50')");
52
+ export const externalRefsSchema = z.record(z.string(), z.string()).default({});
53
+ /**
54
+ * Per-currency amount map: `{ "USD": "1500.00", "EUR": "1380.00" }`. Empty
55
+ * map / missing key means the entity is not priced in that currency.
56
+ * Charter pricing stores per-currency amounts as data (this map) rather
57
+ * than encoding currencies as schema columns, so adding a new currency
58
+ * is a content change, not a migration. See #355.
59
+ */
60
+ export const pricesByCurrencySchema = z.record(currencyCodeSchema, moneyStringSchema);
@@ -0,0 +1,76 @@
1
+ import { z } from "./validation-shared.js";
2
+ export declare const insertYachtSchema: z.ZodObject<{
3
+ lineSupplierId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
4
+ name: z.ZodString;
5
+ slug: z.ZodString;
6
+ yachtClass: z.ZodEnum<{
7
+ luxury_motor: "luxury_motor";
8
+ luxury_sailing: "luxury_sailing";
9
+ expedition: "expedition";
10
+ small_cruise: "small_cruise";
11
+ }>;
12
+ capacityGuests: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
13
+ capacityCrew: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
14
+ lengthMeters: z.ZodNullable<z.ZodOptional<z.ZodString>>;
15
+ yearBuilt: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
16
+ yearRefurbished: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
17
+ imo: z.ZodNullable<z.ZodOptional<z.ZodString>>;
18
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
19
+ gallery: z.ZodDefault<z.ZodArray<z.ZodString>>;
20
+ amenities: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21
+ crewBios: z.ZodDefault<z.ZodArray<z.ZodObject<{
22
+ role: z.ZodString;
23
+ name: z.ZodString;
24
+ bio: z.ZodOptional<z.ZodString>;
25
+ photoUrl: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>>>;
27
+ defaultCharterAreas: z.ZodDefault<z.ZodArray<z.ZodString>>;
28
+ externalRefs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
29
+ isActive: z.ZodDefault<z.ZodBoolean>;
30
+ }, z.core.$strip>;
31
+ export declare const updateYachtSchema: z.ZodObject<{
32
+ lineSupplierId: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
33
+ name: z.ZodOptional<z.ZodString>;
34
+ slug: z.ZodOptional<z.ZodString>;
35
+ yachtClass: z.ZodOptional<z.ZodEnum<{
36
+ luxury_motor: "luxury_motor";
37
+ luxury_sailing: "luxury_sailing";
38
+ expedition: "expedition";
39
+ small_cruise: "small_cruise";
40
+ }>>;
41
+ capacityGuests: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
42
+ capacityCrew: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
43
+ lengthMeters: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
44
+ yearBuilt: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
45
+ yearRefurbished: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
46
+ imo: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
47
+ description: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodString>>>;
48
+ gallery: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
49
+ amenities: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
50
+ crewBios: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
51
+ role: z.ZodString;
52
+ name: z.ZodString;
53
+ bio: z.ZodOptional<z.ZodString>;
54
+ photoUrl: z.ZodOptional<z.ZodString>;
55
+ }, z.core.$strip>>>>;
56
+ defaultCharterAreas: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
57
+ externalRefs: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
58
+ isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
59
+ }, z.core.$strip>;
60
+ export declare const yachtListQuerySchema: z.ZodObject<{
61
+ lineSupplierId: z.ZodOptional<z.ZodString>;
62
+ yachtClass: z.ZodOptional<z.ZodEnum<{
63
+ luxury_motor: "luxury_motor";
64
+ luxury_sailing: "luxury_sailing";
65
+ expedition: "expedition";
66
+ small_cruise: "small_cruise";
67
+ }>>;
68
+ isActive: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
69
+ search: z.ZodOptional<z.ZodString>;
70
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
71
+ offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
72
+ }, z.core.$strip>;
73
+ export type InsertYacht = z.infer<typeof insertYachtSchema>;
74
+ export type UpdateYacht = z.infer<typeof updateYachtSchema>;
75
+ export type YachtListQuery = z.infer<typeof yachtListQuerySchema>;
76
+ //# sourceMappingURL=validation-yachts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-yachts.d.ts","sourceRoot":"","sources":["../src/validation-yachts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,CAAC,EAAE,MAAM,wBAAwB,CAAA;AA6B5F,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkB,CAAA;AAChD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4B,CAAA;AAE1D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;iBAO/B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA"}