@voyant-travel/inventory 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.
Files changed (311) hide show
  1. package/LICENSE +201 -0
  2. package/dist/action-ledger-drift.d.ts +29 -0
  3. package/dist/action-ledger-drift.d.ts.map +1 -0
  4. package/dist/action-ledger-drift.js +338 -0
  5. package/dist/action-ledger.d.ts +104 -0
  6. package/dist/action-ledger.d.ts.map +1 -0
  7. package/dist/action-ledger.js +100 -0
  8. package/dist/authoring/builder.d.ts +37 -0
  9. package/dist/authoring/builder.d.ts.map +1 -0
  10. package/dist/authoring/builder.js +248 -0
  11. package/dist/authoring/clone-content.d.ts +38 -0
  12. package/dist/authoring/clone-content.d.ts.map +1 -0
  13. package/dist/authoring/clone-content.js +367 -0
  14. package/dist/authoring/clone-pricing.d.ts +9 -0
  15. package/dist/authoring/clone-pricing.d.ts.map +1 -0
  16. package/dist/authoring/clone-pricing.js +242 -0
  17. package/dist/authoring/clone.d.ts +45 -0
  18. package/dist/authoring/clone.d.ts.map +1 -0
  19. package/dist/authoring/clone.js +142 -0
  20. package/dist/authoring/errors.d.ts +21 -0
  21. package/dist/authoring/errors.d.ts.map +1 -0
  22. package/dist/authoring/errors.js +13 -0
  23. package/dist/authoring/extension.d.ts +248 -0
  24. package/dist/authoring/extension.d.ts.map +1 -0
  25. package/dist/authoring/extension.js +116 -0
  26. package/dist/authoring/index.d.ts +12 -0
  27. package/dist/authoring/index.d.ts.map +1 -0
  28. package/dist/authoring/index.js +11 -0
  29. package/dist/authoring/schema.d.ts +85 -0
  30. package/dist/authoring/schema.d.ts.map +1 -0
  31. package/dist/authoring/schema.js +16 -0
  32. package/dist/authoring/service.d.ts +28 -0
  33. package/dist/authoring/service.d.ts.map +1 -0
  34. package/dist/authoring/service.js +66 -0
  35. package/dist/authoring/spec.d.ts +524 -0
  36. package/dist/authoring/spec.d.ts.map +1 -0
  37. package/dist/authoring/spec.js +167 -0
  38. package/dist/authoring/validate.d.ts +17 -0
  39. package/dist/authoring/validate.d.ts.map +1 -0
  40. package/dist/authoring/validate.js +83 -0
  41. package/dist/authoring.d.ts +2 -0
  42. package/dist/authoring.d.ts.map +1 -0
  43. package/dist/authoring.js +1 -0
  44. package/dist/booking-engine/handler-support.d.ts +91 -0
  45. package/dist/booking-engine/handler-support.d.ts.map +1 -0
  46. package/dist/booking-engine/handler-support.js +355 -0
  47. package/dist/booking-engine/handler.d.ts +404 -0
  48. package/dist/booking-engine/handler.d.ts.map +1 -0
  49. package/dist/booking-engine/handler.js +398 -0
  50. package/dist/booking-engine/index.d.ts +8 -0
  51. package/dist/booking-engine/index.d.ts.map +1 -0
  52. package/dist/booking-engine/index.js +7 -0
  53. package/dist/booking-engine.d.ts +2 -0
  54. package/dist/booking-engine.d.ts.map +1 -0
  55. package/dist/booking-engine.js +1 -0
  56. package/dist/booking-extension.d.ts +278 -0
  57. package/dist/booking-extension.d.ts.map +1 -0
  58. package/dist/booking-extension.js +161 -0
  59. package/dist/catalog-policy-departures.d.ts +52 -0
  60. package/dist/catalog-policy-departures.d.ts.map +1 -0
  61. package/dist/catalog-policy-departures.js +169 -0
  62. package/dist/catalog-policy-destinations.d.ts +43 -0
  63. package/dist/catalog-policy-destinations.d.ts.map +1 -0
  64. package/dist/catalog-policy-destinations.js +165 -0
  65. package/dist/catalog-policy-pricing.d.ts +55 -0
  66. package/dist/catalog-policy-pricing.d.ts.map +1 -0
  67. package/dist/catalog-policy-pricing.js +109 -0
  68. package/dist/catalog-policy-promotions.d.ts +52 -0
  69. package/dist/catalog-policy-promotions.d.ts.map +1 -0
  70. package/dist/catalog-policy-promotions.js +270 -0
  71. package/dist/catalog-policy-taxonomy.d.ts +51 -0
  72. package/dist/catalog-policy-taxonomy.d.ts.map +1 -0
  73. package/dist/catalog-policy-taxonomy.js +191 -0
  74. package/dist/catalog-policy.d.ts +33 -0
  75. package/dist/catalog-policy.d.ts.map +1 -0
  76. package/dist/catalog-policy.js +733 -0
  77. package/dist/content-shape.d.ts +15 -0
  78. package/dist/content-shape.d.ts.map +1 -0
  79. package/dist/content-shape.js +28 -0
  80. package/dist/draft-shape.d.ts +43 -0
  81. package/dist/draft-shape.d.ts.map +1 -0
  82. package/dist/draft-shape.js +48 -0
  83. package/dist/events.d.ts +37 -0
  84. package/dist/events.d.ts.map +1 -0
  85. package/dist/events.js +32 -0
  86. package/dist/extras/catalog-policy.d.ts +30 -0
  87. package/dist/extras/catalog-policy.d.ts.map +1 -0
  88. package/dist/extras/catalog-policy.js +319 -0
  89. package/dist/extras/content-shape.d.ts +5 -0
  90. package/dist/extras/content-shape.d.ts.map +1 -0
  91. package/dist/extras/content-shape.js +13 -0
  92. package/dist/extras/draft-shape.d.ts +34 -0
  93. package/dist/extras/draft-shape.d.ts.map +1 -0
  94. package/dist/extras/draft-shape.js +69 -0
  95. package/dist/extras/routes.d.ts +380 -0
  96. package/dist/extras/routes.d.ts.map +1 -0
  97. package/dist/extras/routes.js +59 -0
  98. package/dist/extras/schema-sourced-content.d.ts +254 -0
  99. package/dist/extras/schema-sourced-content.d.ts.map +1 -0
  100. package/dist/extras/schema-sourced-content.js +45 -0
  101. package/dist/extras/schema.d.ts +628 -0
  102. package/dist/extras/schema.d.ts.map +1 -0
  103. package/dist/extras/schema.js +87 -0
  104. package/dist/extras/service-catalog-plane.d.ts +77 -0
  105. package/dist/extras/service-catalog-plane.d.ts.map +1 -0
  106. package/dist/extras/service-catalog-plane.js +219 -0
  107. package/dist/extras/service-content-synthesizer.d.ts +41 -0
  108. package/dist/extras/service-content-synthesizer.d.ts.map +1 -0
  109. package/dist/extras/service-content-synthesizer.js +138 -0
  110. package/dist/extras/service-content.d.ts +48 -0
  111. package/dist/extras/service-content.d.ts.map +1 -0
  112. package/dist/extras/service-content.js +253 -0
  113. package/dist/extras/service.d.ts +185 -0
  114. package/dist/extras/service.d.ts.map +1 -0
  115. package/dist/extras/service.js +96 -0
  116. package/dist/extras/validation.d.ts +437 -0
  117. package/dist/extras/validation.d.ts.map +1 -0
  118. package/dist/extras/validation.js +149 -0
  119. package/dist/extras.d.ts +267 -0
  120. package/dist/extras.d.ts.map +1 -0
  121. package/dist/extras.js +19 -0
  122. package/dist/index.d.ts +22 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +32 -0
  125. package/dist/interface.d.ts +5869 -0
  126. package/dist/interface.d.ts.map +1 -0
  127. package/dist/interface.js +54 -0
  128. package/dist/public-routes.d.ts +2 -0
  129. package/dist/public-routes.d.ts.map +1 -0
  130. package/dist/public-routes.js +1 -0
  131. package/dist/public-validation.d.ts +2 -0
  132. package/dist/public-validation.d.ts.map +1 -0
  133. package/dist/public-validation.js +1 -0
  134. package/dist/read-model.d.ts +25 -0
  135. package/dist/read-model.d.ts.map +1 -0
  136. package/dist/read-model.js +99 -0
  137. package/dist/route-env.d.ts +22 -0
  138. package/dist/route-env.d.ts.map +1 -0
  139. package/dist/route-env.js +1 -0
  140. package/dist/routes-associations.d.ts +164 -0
  141. package/dist/routes-associations.d.ts.map +1 -0
  142. package/dist/routes-associations.js +100 -0
  143. package/dist/routes-catalog.d.ts +436 -0
  144. package/dist/routes-catalog.d.ts.map +1 -0
  145. package/dist/routes-catalog.js +104 -0
  146. package/dist/routes-configuration.d.ts +773 -0
  147. package/dist/routes-configuration.d.ts.map +1 -0
  148. package/dist/routes-configuration.js +364 -0
  149. package/dist/routes-content.d.ts +74 -0
  150. package/dist/routes-content.d.ts.map +1 -0
  151. package/dist/routes-content.js +117 -0
  152. package/dist/routes-core.d.ts +331 -0
  153. package/dist/routes-core.d.ts.map +1 -0
  154. package/dist/routes-core.js +95 -0
  155. package/dist/routes-itinerary.d.ts +759 -0
  156. package/dist/routes-itinerary.d.ts.map +1 -0
  157. package/dist/routes-itinerary.js +387 -0
  158. package/dist/routes-maintenance.d.ts +32 -0
  159. package/dist/routes-maintenance.d.ts.map +1 -0
  160. package/dist/routes-maintenance.js +14 -0
  161. package/dist/routes-media.d.ts +634 -0
  162. package/dist/routes-media.d.ts.map +1 -0
  163. package/dist/routes-media.js +245 -0
  164. package/dist/routes-merchandising.d.ts +1120 -0
  165. package/dist/routes-merchandising.d.ts.map +1 -0
  166. package/dist/routes-merchandising.js +377 -0
  167. package/dist/routes-options.d.ts +363 -0
  168. package/dist/routes-options.d.ts.map +1 -0
  169. package/dist/routes-options.js +173 -0
  170. package/dist/routes-public.d.ts +776 -0
  171. package/dist/routes-public.d.ts.map +1 -0
  172. package/dist/routes-public.js +119 -0
  173. package/dist/routes-translations.d.ts +489 -0
  174. package/dist/routes-translations.d.ts.map +1 -0
  175. package/dist/routes-translations.js +258 -0
  176. package/dist/routes.d.ts +5097 -0
  177. package/dist/routes.d.ts.map +1 -0
  178. package/dist/routes.js +64 -0
  179. package/dist/schema-core.d.ts +1238 -0
  180. package/dist/schema-core.d.ts.map +1 -0
  181. package/dist/schema-core.js +157 -0
  182. package/dist/schema-itinerary.d.ts +1169 -0
  183. package/dist/schema-itinerary.d.ts.map +1 -0
  184. package/dist/schema-itinerary.js +130 -0
  185. package/dist/schema-relations.d.ts +117 -0
  186. package/dist/schema-relations.d.ts.map +1 -0
  187. package/dist/schema-relations.js +192 -0
  188. package/dist/schema-settings.d.ts +1800 -0
  189. package/dist/schema-settings.d.ts.map +1 -0
  190. package/dist/schema-settings.js +220 -0
  191. package/dist/schema-shared.d.ts +15 -0
  192. package/dist/schema-shared.d.ts.map +1 -0
  193. package/dist/schema-shared.js +91 -0
  194. package/dist/schema-sourced-content.d.ts +262 -0
  195. package/dist/schema-sourced-content.d.ts.map +1 -0
  196. package/dist/schema-sourced-content.js +69 -0
  197. package/dist/schema-taxonomy.d.ts +1363 -0
  198. package/dist/schema-taxonomy.d.ts.map +1 -0
  199. package/dist/schema-taxonomy.js +203 -0
  200. package/dist/schema.d.ts +10 -0
  201. package/dist/schema.d.ts.map +1 -0
  202. package/dist/schema.js +9 -0
  203. package/dist/service-aggregates.d.ts +29 -0
  204. package/dist/service-aggregates.d.ts.map +1 -0
  205. package/dist/service-aggregates.js +56 -0
  206. package/dist/service-catalog-plane-destinations.d.ts +30 -0
  207. package/dist/service-catalog-plane-destinations.d.ts.map +1 -0
  208. package/dist/service-catalog-plane-destinations.js +143 -0
  209. package/dist/service-catalog-plane-taxonomy.d.ts +73 -0
  210. package/dist/service-catalog-plane-taxonomy.d.ts.map +1 -0
  211. package/dist/service-catalog-plane-taxonomy.js +242 -0
  212. package/dist/service-catalog-plane.d.ts +179 -0
  213. package/dist/service-catalog-plane.d.ts.map +1 -0
  214. package/dist/service-catalog-plane.js +431 -0
  215. package/dist/service-catalog.d.ts +251 -0
  216. package/dist/service-catalog.d.ts.map +1 -0
  217. package/dist/service-catalog.js +517 -0
  218. package/dist/service-configuration.d.ts +261 -0
  219. package/dist/service-configuration.d.ts.map +1 -0
  220. package/dist/service-configuration.js +343 -0
  221. package/dist/service-content-owned.d.ts +68 -0
  222. package/dist/service-content-owned.d.ts.map +1 -0
  223. package/dist/service-content-owned.js +329 -0
  224. package/dist/service-content-synthesizer.d.ts +90 -0
  225. package/dist/service-content-synthesizer.d.ts.map +1 -0
  226. package/dist/service-content-synthesizer.js +178 -0
  227. package/dist/service-content.d.ts +106 -0
  228. package/dist/service-content.d.ts.map +1 -0
  229. package/dist/service-content.js +388 -0
  230. package/dist/service-core.d.ts +194 -0
  231. package/dist/service-core.d.ts.map +1 -0
  232. package/dist/service-core.js +213 -0
  233. package/dist/service-delivery-formats.d.ts +58 -0
  234. package/dist/service-delivery-formats.d.ts.map +1 -0
  235. package/dist/service-delivery-formats.js +107 -0
  236. package/dist/service-destinations.d.ts +223 -0
  237. package/dist/service-destinations.d.ts.map +1 -0
  238. package/dist/service-destinations.js +310 -0
  239. package/dist/service-itinerary-history.d.ts +457 -0
  240. package/dist/service-itinerary-history.d.ts.map +1 -0
  241. package/dist/service-itinerary-history.js +135 -0
  242. package/dist/service-itinerary.d.ts +1149 -0
  243. package/dist/service-itinerary.d.ts.map +1 -0
  244. package/dist/service-itinerary.js +419 -0
  245. package/dist/service-media.d.ts +272 -0
  246. package/dist/service-media.d.ts.map +1 -0
  247. package/dist/service-media.js +320 -0
  248. package/dist/service-merchandising.d.ts +184 -0
  249. package/dist/service-merchandising.d.ts.map +1 -0
  250. package/dist/service-merchandising.js +181 -0
  251. package/dist/service-option-translations.d.ts +268 -0
  252. package/dist/service-option-translations.d.ts.map +1 -0
  253. package/dist/service-option-translations.js +300 -0
  254. package/dist/service-options.d.ts +181 -0
  255. package/dist/service-options.d.ts.map +1 -0
  256. package/dist/service-options.js +179 -0
  257. package/dist/service-product-destinations.d.ts +37 -0
  258. package/dist/service-product-destinations.d.ts.map +1 -0
  259. package/dist/service-product-destinations.js +94 -0
  260. package/dist/service-public.d.ts +664 -0
  261. package/dist/service-public.d.ts.map +1 -0
  262. package/dist/service-public.js +374 -0
  263. package/dist/service-taxonomy.d.ts +197 -0
  264. package/dist/service-taxonomy.d.ts.map +1 -0
  265. package/dist/service-taxonomy.js +221 -0
  266. package/dist/service.d.ts +3929 -0
  267. package/dist/service.d.ts.map +1 -0
  268. package/dist/service.js +28 -0
  269. package/dist/tasks/brochure-printers.d.ts +31 -0
  270. package/dist/tasks/brochure-printers.d.ts.map +1 -0
  271. package/dist/tasks/brochure-printers.js +149 -0
  272. package/dist/tasks/brochure-templates.d.ts +36 -0
  273. package/dist/tasks/brochure-templates.d.ts.map +1 -0
  274. package/dist/tasks/brochure-templates.js +110 -0
  275. package/dist/tasks/brochures.d.ts +43 -0
  276. package/dist/tasks/brochures.d.ts.map +1 -0
  277. package/dist/tasks/brochures.js +72 -0
  278. package/dist/tasks/generate-pdf.d.ts +8 -0
  279. package/dist/tasks/generate-pdf.d.ts.map +1 -0
  280. package/dist/tasks/generate-pdf.js +106 -0
  281. package/dist/tasks/index.d.ts +5 -0
  282. package/dist/tasks/index.d.ts.map +1 -0
  283. package/dist/tasks/index.js +4 -0
  284. package/dist/tasks/pdf-text.d.ts +2 -0
  285. package/dist/tasks/pdf-text.d.ts.map +1 -0
  286. package/dist/tasks/pdf-text.js +40 -0
  287. package/dist/tasks.d.ts +2 -0
  288. package/dist/tasks.d.ts.map +1 -0
  289. package/dist/tasks.js +1 -0
  290. package/dist/validation-catalog.d.ts +2 -0
  291. package/dist/validation-catalog.d.ts.map +1 -0
  292. package/dist/validation-catalog.js +3 -0
  293. package/dist/validation-config.d.ts +2 -0
  294. package/dist/validation-config.d.ts.map +1 -0
  295. package/dist/validation-config.js +3 -0
  296. package/dist/validation-content.d.ts +2 -0
  297. package/dist/validation-content.d.ts.map +1 -0
  298. package/dist/validation-content.js +3 -0
  299. package/dist/validation-core.d.ts +2 -0
  300. package/dist/validation-core.d.ts.map +1 -0
  301. package/dist/validation-core.js +3 -0
  302. package/dist/validation-public.d.ts +2 -0
  303. package/dist/validation-public.d.ts.map +1 -0
  304. package/dist/validation-public.js +3 -0
  305. package/dist/validation-shared.d.ts +2 -0
  306. package/dist/validation-shared.d.ts.map +1 -0
  307. package/dist/validation-shared.js +3 -0
  308. package/dist/validation.d.ts +2 -0
  309. package/dist/validation.d.ts.map +1 -0
  310. package/dist/validation.js +3 -0
  311. package/package.json +204 -0
@@ -0,0 +1,3929 @@
1
+ import { getProductAggregates } from "./service-aggregates.js";
2
+ export declare const productsService: {
3
+ listMedia(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, query: {
4
+ limit: number;
5
+ offset: number;
6
+ dayId?: string | undefined;
7
+ mediaType?: "image" | "video" | "document" | undefined;
8
+ isBrochure?: boolean | undefined;
9
+ isBrochureCurrent?: boolean | undefined;
10
+ }): Promise<{
11
+ data: {
12
+ id: string;
13
+ productId: string;
14
+ dayId: string | null;
15
+ mediaType: "image" | "video" | "document";
16
+ name: string;
17
+ url: string;
18
+ storageKey: string | null;
19
+ mimeType: string | null;
20
+ fileSize: number | null;
21
+ altText: string | null;
22
+ sortOrder: number;
23
+ isCover: boolean;
24
+ isBrochure: boolean;
25
+ isBrochureCurrent: boolean;
26
+ brochureVersion: number | null;
27
+ createdAt: Date;
28
+ updatedAt: Date;
29
+ }[];
30
+ total: number;
31
+ limit: number;
32
+ offset: number;
33
+ }>;
34
+ listProductLevelMedia(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, query: {
35
+ limit: number;
36
+ offset: number;
37
+ dayId?: string | undefined;
38
+ mediaType?: "image" | "video" | "document" | undefined;
39
+ isBrochure?: boolean | undefined;
40
+ isBrochureCurrent?: boolean | undefined;
41
+ }): Promise<{
42
+ data: {
43
+ id: string;
44
+ productId: string;
45
+ dayId: string | null;
46
+ mediaType: "image" | "video" | "document";
47
+ name: string;
48
+ url: string;
49
+ storageKey: string | null;
50
+ mimeType: string | null;
51
+ fileSize: number | null;
52
+ altText: string | null;
53
+ sortOrder: number;
54
+ isCover: boolean;
55
+ isBrochure: boolean;
56
+ isBrochureCurrent: boolean;
57
+ brochureVersion: number | null;
58
+ createdAt: Date;
59
+ updatedAt: Date;
60
+ }[];
61
+ total: number;
62
+ limit: number;
63
+ offset: number;
64
+ }>;
65
+ getMediaById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
66
+ id: string;
67
+ productId: string;
68
+ dayId: string | null;
69
+ mediaType: "image" | "video" | "document";
70
+ name: string;
71
+ url: string;
72
+ storageKey: string | null;
73
+ mimeType: string | null;
74
+ fileSize: number | null;
75
+ altText: string | null;
76
+ sortOrder: number;
77
+ isCover: boolean;
78
+ isBrochure: boolean;
79
+ isBrochureCurrent: boolean;
80
+ brochureVersion: number | null;
81
+ createdAt: Date;
82
+ updatedAt: Date;
83
+ } | null>;
84
+ createMedia(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
85
+ mediaType: "image" | "video" | "document";
86
+ name: string;
87
+ url: string;
88
+ sortOrder: number;
89
+ isCover: boolean;
90
+ isBrochure: boolean;
91
+ isBrochureCurrent: boolean;
92
+ storageKey?: string | null | undefined;
93
+ mimeType?: string | null | undefined;
94
+ fileSize?: number | null | undefined;
95
+ altText?: string | null | undefined;
96
+ brochureVersion?: number | null | undefined;
97
+ dayId?: string | null | undefined;
98
+ }): Promise<{
99
+ id: string;
100
+ name: string;
101
+ createdAt: Date;
102
+ updatedAt: Date;
103
+ productId: string;
104
+ sortOrder: number;
105
+ dayId: string | null;
106
+ mediaType: "image" | "video" | "document";
107
+ isBrochure: boolean;
108
+ isBrochureCurrent: boolean;
109
+ url: string;
110
+ storageKey: string | null;
111
+ mimeType: string | null;
112
+ fileSize: number | null;
113
+ altText: string | null;
114
+ isCover: boolean;
115
+ brochureVersion: number | null;
116
+ } | null>;
117
+ updateMedia(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
118
+ mediaType?: "image" | "video" | "document" | undefined;
119
+ name?: string | undefined;
120
+ url?: string | undefined;
121
+ storageKey?: string | null | undefined;
122
+ mimeType?: string | null | undefined;
123
+ fileSize?: number | null | undefined;
124
+ altText?: string | null | undefined;
125
+ sortOrder?: number | undefined;
126
+ isCover?: boolean | undefined;
127
+ isBrochure?: boolean | undefined;
128
+ isBrochureCurrent?: boolean | undefined;
129
+ brochureVersion?: number | null | undefined;
130
+ }): Promise<{
131
+ id: string;
132
+ productId: string;
133
+ dayId: string | null;
134
+ mediaType: "image" | "video" | "document";
135
+ name: string;
136
+ url: string;
137
+ storageKey: string | null;
138
+ mimeType: string | null;
139
+ fileSize: number | null;
140
+ altText: string | null;
141
+ sortOrder: number;
142
+ isCover: boolean;
143
+ isBrochure: boolean;
144
+ isBrochureCurrent: boolean;
145
+ brochureVersion: number | null;
146
+ createdAt: Date;
147
+ updatedAt: Date;
148
+ } | null>;
149
+ deleteMedia(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
150
+ id: string;
151
+ name: string;
152
+ createdAt: Date;
153
+ updatedAt: Date;
154
+ productId: string;
155
+ sortOrder: number;
156
+ dayId: string | null;
157
+ mediaType: "image" | "video" | "document";
158
+ isBrochure: boolean;
159
+ isBrochureCurrent: boolean;
160
+ url: string;
161
+ storageKey: string | null;
162
+ mimeType: string | null;
163
+ fileSize: number | null;
164
+ altText: string | null;
165
+ isCover: boolean;
166
+ brochureVersion: number | null;
167
+ } | null>;
168
+ setCoverMedia(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, mediaId: string, dayId?: string | null): Promise<{
169
+ id: string;
170
+ productId: string;
171
+ dayId: string | null;
172
+ mediaType: "image" | "video" | "document";
173
+ name: string;
174
+ url: string;
175
+ storageKey: string | null;
176
+ mimeType: string | null;
177
+ fileSize: number | null;
178
+ altText: string | null;
179
+ sortOrder: number;
180
+ isCover: boolean;
181
+ isBrochure: boolean;
182
+ isBrochureCurrent: boolean;
183
+ brochureVersion: number | null;
184
+ createdAt: Date;
185
+ updatedAt: Date;
186
+ } | null>;
187
+ reorderMedia(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: {
188
+ items: {
189
+ id: string;
190
+ sortOrder: number;
191
+ }[];
192
+ }): Promise<{
193
+ id: string;
194
+ }[]>;
195
+ getBrochure(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
196
+ id: string;
197
+ productId: string;
198
+ dayId: string | null;
199
+ mediaType: "image" | "video" | "document";
200
+ name: string;
201
+ url: string;
202
+ storageKey: string | null;
203
+ mimeType: string | null;
204
+ fileSize: number | null;
205
+ altText: string | null;
206
+ sortOrder: number;
207
+ isCover: boolean;
208
+ isBrochure: boolean;
209
+ isBrochureCurrent: boolean;
210
+ brochureVersion: number | null;
211
+ createdAt: Date;
212
+ updatedAt: Date;
213
+ } | null>;
214
+ listBrochures(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
215
+ id: string;
216
+ productId: string;
217
+ dayId: string | null;
218
+ mediaType: "image" | "video" | "document";
219
+ name: string;
220
+ url: string;
221
+ storageKey: string | null;
222
+ mimeType: string | null;
223
+ fileSize: number | null;
224
+ altText: string | null;
225
+ sortOrder: number;
226
+ isCover: boolean;
227
+ isBrochure: boolean;
228
+ isBrochureCurrent: boolean;
229
+ brochureVersion: number | null;
230
+ createdAt: Date;
231
+ updatedAt: Date;
232
+ }[]>;
233
+ upsertBrochure(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
234
+ name: string;
235
+ sortOrder: number;
236
+ url: string;
237
+ mimeType: string | null;
238
+ storageKey?: string | null | undefined;
239
+ fileSize?: number | null | undefined;
240
+ altText?: string | null | undefined;
241
+ }): Promise<{
242
+ id: string;
243
+ name: string;
244
+ createdAt: Date;
245
+ updatedAt: Date;
246
+ productId: string;
247
+ sortOrder: number;
248
+ dayId: string | null;
249
+ mediaType: "image" | "video" | "document";
250
+ isBrochure: boolean;
251
+ isBrochureCurrent: boolean;
252
+ url: string;
253
+ storageKey: string | null;
254
+ mimeType: string | null;
255
+ fileSize: number | null;
256
+ altText: string | null;
257
+ isCover: boolean;
258
+ brochureVersion: number | null;
259
+ } | null>;
260
+ deleteBrochure(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
261
+ id: string;
262
+ name: string;
263
+ createdAt: Date;
264
+ updatedAt: Date;
265
+ productId: string;
266
+ sortOrder: number;
267
+ dayId: string | null;
268
+ mediaType: "image" | "video" | "document";
269
+ isBrochure: boolean;
270
+ isBrochureCurrent: boolean;
271
+ url: string;
272
+ storageKey: string | null;
273
+ mimeType: string | null;
274
+ fileSize: number | null;
275
+ altText: string | null;
276
+ isCover: boolean;
277
+ brochureVersion: number | null;
278
+ } | null>;
279
+ setCurrentBrochure(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, brochureId: string): Promise<{
280
+ id: string;
281
+ productId: string;
282
+ dayId: string | null;
283
+ mediaType: "image" | "video" | "document";
284
+ name: string;
285
+ url: string;
286
+ storageKey: string | null;
287
+ mimeType: string | null;
288
+ fileSize: number | null;
289
+ altText: string | null;
290
+ sortOrder: number;
291
+ isCover: boolean;
292
+ isBrochure: boolean;
293
+ isBrochureCurrent: boolean;
294
+ brochureVersion: number | null;
295
+ createdAt: Date;
296
+ updatedAt: Date;
297
+ } | null>;
298
+ deleteBrochureVersion(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, brochureId: string): Promise<{
299
+ id: string;
300
+ name: string;
301
+ createdAt: Date;
302
+ updatedAt: Date;
303
+ productId: string;
304
+ sortOrder: number;
305
+ dayId: string | null;
306
+ mediaType: "image" | "video" | "document";
307
+ isBrochure: boolean;
308
+ isBrochureCurrent: boolean;
309
+ url: string;
310
+ storageKey: string | null;
311
+ mimeType: string | null;
312
+ fileSize: number | null;
313
+ altText: string | null;
314
+ isCover: boolean;
315
+ brochureVersion: number | null;
316
+ } | null>;
317
+ listProductTypes(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
318
+ limit: number;
319
+ offset: number;
320
+ active?: boolean | undefined;
321
+ search?: string | undefined;
322
+ }): Promise<{
323
+ data: {
324
+ id: string;
325
+ name: string;
326
+ code: string;
327
+ description: string | null;
328
+ sortOrder: number;
329
+ active: boolean;
330
+ metadata: Record<string, unknown> | null;
331
+ createdAt: Date;
332
+ updatedAt: Date;
333
+ }[];
334
+ total: number;
335
+ limit: number;
336
+ offset: number;
337
+ }>;
338
+ getProductTypeById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
339
+ id: string;
340
+ name: string;
341
+ code: string;
342
+ description: string | null;
343
+ sortOrder: number;
344
+ active: boolean;
345
+ metadata: Record<string, unknown> | null;
346
+ createdAt: Date;
347
+ updatedAt: Date;
348
+ } | null>;
349
+ createProductType(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: {
350
+ name: string;
351
+ code: string;
352
+ sortOrder: number;
353
+ active: boolean;
354
+ description?: string | null | undefined;
355
+ metadata?: Record<string, unknown> | null | undefined;
356
+ }): Promise<{
357
+ id: string;
358
+ name: string;
359
+ active: boolean;
360
+ description: string | null;
361
+ createdAt: Date;
362
+ updatedAt: Date;
363
+ metadata: Record<string, unknown> | null;
364
+ code: string;
365
+ sortOrder: number;
366
+ } | undefined>;
367
+ updateProductType(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
368
+ name?: string | undefined;
369
+ code?: string | undefined;
370
+ description?: string | null | undefined;
371
+ sortOrder?: number | undefined;
372
+ active?: boolean | undefined;
373
+ metadata?: Record<string, unknown> | null | undefined;
374
+ }): Promise<{
375
+ id: string;
376
+ name: string;
377
+ code: string;
378
+ description: string | null;
379
+ sortOrder: number;
380
+ active: boolean;
381
+ metadata: Record<string, unknown> | null;
382
+ createdAt: Date;
383
+ updatedAt: Date;
384
+ } | null>;
385
+ deleteProductType(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
386
+ id: string;
387
+ } | null>;
388
+ listProductCategories(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
389
+ limit: number;
390
+ offset: number;
391
+ parentId?: string | undefined;
392
+ active?: boolean | undefined;
393
+ search?: string | undefined;
394
+ }): Promise<{
395
+ data: {
396
+ id: string;
397
+ parentId: string | null;
398
+ name: string;
399
+ slug: string;
400
+ description: string | null;
401
+ sortOrder: number;
402
+ active: boolean;
403
+ customerPaymentPolicy: unknown;
404
+ metadata: Record<string, unknown> | null;
405
+ createdAt: Date;
406
+ updatedAt: Date;
407
+ }[];
408
+ total: number;
409
+ limit: number;
410
+ offset: number;
411
+ }>;
412
+ getProductCategoryById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
413
+ id: string;
414
+ parentId: string | null;
415
+ name: string;
416
+ slug: string;
417
+ description: string | null;
418
+ sortOrder: number;
419
+ active: boolean;
420
+ customerPaymentPolicy: unknown;
421
+ metadata: Record<string, unknown> | null;
422
+ createdAt: Date;
423
+ updatedAt: Date;
424
+ } | null>;
425
+ createProductCategory(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: {
426
+ name: string;
427
+ slug: string;
428
+ sortOrder: number;
429
+ active: boolean;
430
+ parentId?: string | null | undefined;
431
+ description?: string | null | undefined;
432
+ customerPaymentPolicy?: {
433
+ deposit: {
434
+ kind: "none" | "percent" | "fixed_cents";
435
+ percent?: number | undefined;
436
+ amountCents?: number | undefined;
437
+ };
438
+ minDaysBeforeDepartureForDeposit: number;
439
+ balanceDueDaysBeforeDeparture: number;
440
+ balanceDueMinDaysFromNow: number;
441
+ } | null | undefined;
442
+ metadata?: Record<string, unknown> | null | undefined;
443
+ }): Promise<{
444
+ id: string;
445
+ name: string;
446
+ active: boolean;
447
+ description: string | null;
448
+ customerPaymentPolicy: unknown;
449
+ createdAt: Date;
450
+ updatedAt: Date;
451
+ metadata: Record<string, unknown> | null;
452
+ sortOrder: number;
453
+ parentId: string | null;
454
+ slug: string;
455
+ } | undefined>;
456
+ updateProductCategory(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
457
+ name?: string | undefined;
458
+ slug?: string | undefined;
459
+ parentId?: string | null | undefined;
460
+ description?: string | null | undefined;
461
+ sortOrder?: number | undefined;
462
+ active?: boolean | undefined;
463
+ customerPaymentPolicy?: {
464
+ deposit: {
465
+ kind: "none" | "percent" | "fixed_cents";
466
+ percent?: number | undefined;
467
+ amountCents?: number | undefined;
468
+ };
469
+ minDaysBeforeDepartureForDeposit: number;
470
+ balanceDueDaysBeforeDeparture: number;
471
+ balanceDueMinDaysFromNow: number;
472
+ } | null | undefined;
473
+ metadata?: Record<string, unknown> | null | undefined;
474
+ }): Promise<{
475
+ id: string;
476
+ parentId: string | null;
477
+ name: string;
478
+ slug: string;
479
+ description: string | null;
480
+ sortOrder: number;
481
+ active: boolean;
482
+ customerPaymentPolicy: unknown;
483
+ metadata: Record<string, unknown> | null;
484
+ createdAt: Date;
485
+ updatedAt: Date;
486
+ } | null>;
487
+ deleteProductCategory(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
488
+ id: string;
489
+ } | null>;
490
+ listProductTags(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
491
+ limit: number;
492
+ offset: number;
493
+ search?: string | undefined;
494
+ }): Promise<{
495
+ data: {
496
+ id: string;
497
+ name: string;
498
+ createdAt: Date;
499
+ updatedAt: Date;
500
+ }[];
501
+ total: number;
502
+ limit: number;
503
+ offset: number;
504
+ }>;
505
+ getProductTagById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
506
+ id: string;
507
+ name: string;
508
+ createdAt: Date;
509
+ updatedAt: Date;
510
+ } | null>;
511
+ createProductTag(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: {
512
+ name: string;
513
+ }): Promise<{
514
+ id: string;
515
+ name: string;
516
+ createdAt: Date;
517
+ updatedAt: Date;
518
+ } | undefined>;
519
+ updateProductTag(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
520
+ name?: string | undefined;
521
+ }): Promise<{
522
+ id: string;
523
+ name: string;
524
+ createdAt: Date;
525
+ updatedAt: Date;
526
+ } | null>;
527
+ deleteProductTag(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
528
+ id: string;
529
+ } | null>;
530
+ addProductToCategory(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, categoryId: string, sortOrder?: number): Promise<{
531
+ createdAt: Date;
532
+ updatedAt: Date;
533
+ categoryId: string;
534
+ productId: string;
535
+ sortOrder: number;
536
+ } | null>;
537
+ removeProductFromCategory(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, categoryId: string): Promise<{
538
+ productId: string;
539
+ } | null>;
540
+ listProductCategories_(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
541
+ id: string;
542
+ parentId: string | null;
543
+ name: string;
544
+ slug: string;
545
+ description: string | null;
546
+ sortOrder: number;
547
+ active: boolean;
548
+ customerPaymentPolicy: unknown;
549
+ metadata: Record<string, unknown> | null;
550
+ createdAt: Date;
551
+ updatedAt: Date;
552
+ }[]>;
553
+ addProductTag(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, tagId: string): Promise<{
554
+ createdAt: Date;
555
+ productId: string;
556
+ tagId: string;
557
+ } | null>;
558
+ removeProductTag(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, tagId: string): Promise<{
559
+ productId: string;
560
+ } | null>;
561
+ listProductTags_(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
562
+ id: string;
563
+ name: string;
564
+ createdAt: Date;
565
+ updatedAt: Date;
566
+ }[]>;
567
+ listVersions(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"product_versions", {
568
+ id: import("drizzle-orm/pg-core").PgColumn<{
569
+ name: string;
570
+ tableName: "product_versions";
571
+ dataType: "string";
572
+ columnType: "PgText";
573
+ data: string;
574
+ driverParam: string;
575
+ notNull: true;
576
+ hasDefault: true;
577
+ isPrimaryKey: true;
578
+ isAutoincrement: false;
579
+ hasRuntimeDefault: true;
580
+ enumValues: [string, ...string[]];
581
+ baseColumn: never;
582
+ identity: undefined;
583
+ generated: undefined;
584
+ }, {}, {}>;
585
+ productId: import("drizzle-orm/pg-core").PgColumn<{
586
+ name: string;
587
+ tableName: "product_versions";
588
+ dataType: "string";
589
+ columnType: "PgText";
590
+ data: string;
591
+ driverParam: string;
592
+ notNull: true;
593
+ hasDefault: false;
594
+ isPrimaryKey: false;
595
+ isAutoincrement: false;
596
+ hasRuntimeDefault: false;
597
+ enumValues: [string, ...string[]];
598
+ baseColumn: never;
599
+ identity: undefined;
600
+ generated: undefined;
601
+ }, {}, {}>;
602
+ versionNumber: import("drizzle-orm/pg-core").PgColumn<{
603
+ name: "version_number";
604
+ tableName: "product_versions";
605
+ dataType: "number";
606
+ columnType: "PgInteger";
607
+ data: number;
608
+ driverParam: string | number;
609
+ notNull: true;
610
+ hasDefault: false;
611
+ isPrimaryKey: false;
612
+ isAutoincrement: false;
613
+ hasRuntimeDefault: false;
614
+ enumValues: undefined;
615
+ baseColumn: never;
616
+ identity: undefined;
617
+ generated: undefined;
618
+ }, {}, {}>;
619
+ snapshot: import("drizzle-orm/pg-core").PgColumn<{
620
+ name: "snapshot";
621
+ tableName: "product_versions";
622
+ dataType: "json";
623
+ columnType: "PgJsonb";
624
+ data: unknown;
625
+ driverParam: unknown;
626
+ notNull: true;
627
+ hasDefault: false;
628
+ isPrimaryKey: false;
629
+ isAutoincrement: false;
630
+ hasRuntimeDefault: false;
631
+ enumValues: undefined;
632
+ baseColumn: never;
633
+ identity: undefined;
634
+ generated: undefined;
635
+ }, {}, {}>;
636
+ authorId: import("drizzle-orm/pg-core").PgColumn<{
637
+ name: "author_id";
638
+ tableName: "product_versions";
639
+ dataType: "string";
640
+ columnType: "PgText";
641
+ data: string;
642
+ driverParam: string;
643
+ notNull: true;
644
+ hasDefault: false;
645
+ isPrimaryKey: false;
646
+ isAutoincrement: false;
647
+ hasRuntimeDefault: false;
648
+ enumValues: [string, ...string[]];
649
+ baseColumn: never;
650
+ identity: undefined;
651
+ generated: undefined;
652
+ }, {}, {}>;
653
+ notes: import("drizzle-orm/pg-core").PgColumn<{
654
+ name: "notes";
655
+ tableName: "product_versions";
656
+ dataType: "string";
657
+ columnType: "PgText";
658
+ data: string;
659
+ driverParam: string;
660
+ notNull: false;
661
+ hasDefault: false;
662
+ isPrimaryKey: false;
663
+ isAutoincrement: false;
664
+ hasRuntimeDefault: false;
665
+ enumValues: [string, ...string[]];
666
+ baseColumn: never;
667
+ identity: undefined;
668
+ generated: undefined;
669
+ }, {}, {}>;
670
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
671
+ name: "created_at";
672
+ tableName: "product_versions";
673
+ dataType: "date";
674
+ columnType: "PgTimestamp";
675
+ data: Date;
676
+ driverParam: string;
677
+ notNull: true;
678
+ hasDefault: true;
679
+ isPrimaryKey: false;
680
+ isAutoincrement: false;
681
+ hasRuntimeDefault: false;
682
+ enumValues: undefined;
683
+ baseColumn: never;
684
+ identity: undefined;
685
+ generated: undefined;
686
+ }, {}, {}>;
687
+ }, "single", Record<"product_versions", "not-null">, false, "where" | "orderBy", {
688
+ id: string;
689
+ productId: string;
690
+ versionNumber: number;
691
+ snapshot: unknown;
692
+ authorId: string;
693
+ notes: string | null;
694
+ createdAt: Date;
695
+ }[], {
696
+ id: import("drizzle-orm/pg-core").PgColumn<{
697
+ name: string;
698
+ tableName: "product_versions";
699
+ dataType: "string";
700
+ columnType: "PgText";
701
+ data: string;
702
+ driverParam: string;
703
+ notNull: true;
704
+ hasDefault: true;
705
+ isPrimaryKey: true;
706
+ isAutoincrement: false;
707
+ hasRuntimeDefault: true;
708
+ enumValues: [string, ...string[]];
709
+ baseColumn: never;
710
+ identity: undefined;
711
+ generated: undefined;
712
+ }, {}, {}>;
713
+ productId: import("drizzle-orm/pg-core").PgColumn<{
714
+ name: string;
715
+ tableName: "product_versions";
716
+ dataType: "string";
717
+ columnType: "PgText";
718
+ data: string;
719
+ driverParam: string;
720
+ notNull: true;
721
+ hasDefault: false;
722
+ isPrimaryKey: false;
723
+ isAutoincrement: false;
724
+ hasRuntimeDefault: false;
725
+ enumValues: [string, ...string[]];
726
+ baseColumn: never;
727
+ identity: undefined;
728
+ generated: undefined;
729
+ }, {}, {}>;
730
+ versionNumber: import("drizzle-orm/pg-core").PgColumn<{
731
+ name: "version_number";
732
+ tableName: "product_versions";
733
+ dataType: "number";
734
+ columnType: "PgInteger";
735
+ data: number;
736
+ driverParam: string | number;
737
+ notNull: true;
738
+ hasDefault: false;
739
+ isPrimaryKey: false;
740
+ isAutoincrement: false;
741
+ hasRuntimeDefault: false;
742
+ enumValues: undefined;
743
+ baseColumn: never;
744
+ identity: undefined;
745
+ generated: undefined;
746
+ }, {}, {}>;
747
+ snapshot: import("drizzle-orm/pg-core").PgColumn<{
748
+ name: "snapshot";
749
+ tableName: "product_versions";
750
+ dataType: "json";
751
+ columnType: "PgJsonb";
752
+ data: unknown;
753
+ driverParam: unknown;
754
+ notNull: true;
755
+ hasDefault: false;
756
+ isPrimaryKey: false;
757
+ isAutoincrement: false;
758
+ hasRuntimeDefault: false;
759
+ enumValues: undefined;
760
+ baseColumn: never;
761
+ identity: undefined;
762
+ generated: undefined;
763
+ }, {}, {}>;
764
+ authorId: import("drizzle-orm/pg-core").PgColumn<{
765
+ name: "author_id";
766
+ tableName: "product_versions";
767
+ dataType: "string";
768
+ columnType: "PgText";
769
+ data: string;
770
+ driverParam: string;
771
+ notNull: true;
772
+ hasDefault: false;
773
+ isPrimaryKey: false;
774
+ isAutoincrement: false;
775
+ hasRuntimeDefault: false;
776
+ enumValues: [string, ...string[]];
777
+ baseColumn: never;
778
+ identity: undefined;
779
+ generated: undefined;
780
+ }, {}, {}>;
781
+ notes: import("drizzle-orm/pg-core").PgColumn<{
782
+ name: "notes";
783
+ tableName: "product_versions";
784
+ dataType: "string";
785
+ columnType: "PgText";
786
+ data: string;
787
+ driverParam: string;
788
+ notNull: false;
789
+ hasDefault: false;
790
+ isPrimaryKey: false;
791
+ isAutoincrement: false;
792
+ hasRuntimeDefault: false;
793
+ enumValues: [string, ...string[]];
794
+ baseColumn: never;
795
+ identity: undefined;
796
+ generated: undefined;
797
+ }, {}, {}>;
798
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
799
+ name: "created_at";
800
+ tableName: "product_versions";
801
+ dataType: "date";
802
+ columnType: "PgTimestamp";
803
+ data: Date;
804
+ driverParam: string;
805
+ notNull: true;
806
+ hasDefault: true;
807
+ isPrimaryKey: false;
808
+ isAutoincrement: false;
809
+ hasRuntimeDefault: false;
810
+ enumValues: undefined;
811
+ baseColumn: never;
812
+ identity: undefined;
813
+ generated: undefined;
814
+ }, {}, {}>;
815
+ }>, "where" | "orderBy">;
816
+ createVersion(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, userId: string, data: {
817
+ notes?: string | null | undefined;
818
+ }): Promise<{
819
+ id: string;
820
+ createdAt: Date;
821
+ productId: string;
822
+ notes: string | null;
823
+ versionNumber: number;
824
+ snapshot: unknown;
825
+ authorId: string;
826
+ } | null | undefined>;
827
+ listNotes(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"product_notes", {
828
+ id: import("drizzle-orm/pg-core").PgColumn<{
829
+ name: string;
830
+ tableName: "product_notes";
831
+ dataType: "string";
832
+ columnType: "PgText";
833
+ data: string;
834
+ driverParam: string;
835
+ notNull: true;
836
+ hasDefault: true;
837
+ isPrimaryKey: true;
838
+ isAutoincrement: false;
839
+ hasRuntimeDefault: true;
840
+ enumValues: [string, ...string[]];
841
+ baseColumn: never;
842
+ identity: undefined;
843
+ generated: undefined;
844
+ }, {}, {}>;
845
+ productId: import("drizzle-orm/pg-core").PgColumn<{
846
+ name: string;
847
+ tableName: "product_notes";
848
+ dataType: "string";
849
+ columnType: "PgText";
850
+ data: string;
851
+ driverParam: string;
852
+ notNull: true;
853
+ hasDefault: false;
854
+ isPrimaryKey: false;
855
+ isAutoincrement: false;
856
+ hasRuntimeDefault: false;
857
+ enumValues: [string, ...string[]];
858
+ baseColumn: never;
859
+ identity: undefined;
860
+ generated: undefined;
861
+ }, {}, {}>;
862
+ authorId: import("drizzle-orm/pg-core").PgColumn<{
863
+ name: "author_id";
864
+ tableName: "product_notes";
865
+ dataType: "string";
866
+ columnType: "PgText";
867
+ data: string;
868
+ driverParam: string;
869
+ notNull: true;
870
+ hasDefault: false;
871
+ isPrimaryKey: false;
872
+ isAutoincrement: false;
873
+ hasRuntimeDefault: false;
874
+ enumValues: [string, ...string[]];
875
+ baseColumn: never;
876
+ identity: undefined;
877
+ generated: undefined;
878
+ }, {}, {}>;
879
+ content: import("drizzle-orm/pg-core").PgColumn<{
880
+ name: "content";
881
+ tableName: "product_notes";
882
+ dataType: "string";
883
+ columnType: "PgText";
884
+ data: string;
885
+ driverParam: string;
886
+ notNull: true;
887
+ hasDefault: false;
888
+ isPrimaryKey: false;
889
+ isAutoincrement: false;
890
+ hasRuntimeDefault: false;
891
+ enumValues: [string, ...string[]];
892
+ baseColumn: never;
893
+ identity: undefined;
894
+ generated: undefined;
895
+ }, {}, {}>;
896
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
897
+ name: "created_at";
898
+ tableName: "product_notes";
899
+ dataType: "date";
900
+ columnType: "PgTimestamp";
901
+ data: Date;
902
+ driverParam: string;
903
+ notNull: true;
904
+ hasDefault: true;
905
+ isPrimaryKey: false;
906
+ isAutoincrement: false;
907
+ hasRuntimeDefault: false;
908
+ enumValues: undefined;
909
+ baseColumn: never;
910
+ identity: undefined;
911
+ generated: undefined;
912
+ }, {}, {}>;
913
+ }, "single", Record<"product_notes", "not-null">, false, "where" | "orderBy", {
914
+ id: string;
915
+ productId: string;
916
+ authorId: string;
917
+ content: string;
918
+ createdAt: Date;
919
+ }[], {
920
+ id: import("drizzle-orm/pg-core").PgColumn<{
921
+ name: string;
922
+ tableName: "product_notes";
923
+ dataType: "string";
924
+ columnType: "PgText";
925
+ data: string;
926
+ driverParam: string;
927
+ notNull: true;
928
+ hasDefault: true;
929
+ isPrimaryKey: true;
930
+ isAutoincrement: false;
931
+ hasRuntimeDefault: true;
932
+ enumValues: [string, ...string[]];
933
+ baseColumn: never;
934
+ identity: undefined;
935
+ generated: undefined;
936
+ }, {}, {}>;
937
+ productId: import("drizzle-orm/pg-core").PgColumn<{
938
+ name: string;
939
+ tableName: "product_notes";
940
+ dataType: "string";
941
+ columnType: "PgText";
942
+ data: string;
943
+ driverParam: string;
944
+ notNull: true;
945
+ hasDefault: false;
946
+ isPrimaryKey: false;
947
+ isAutoincrement: false;
948
+ hasRuntimeDefault: false;
949
+ enumValues: [string, ...string[]];
950
+ baseColumn: never;
951
+ identity: undefined;
952
+ generated: undefined;
953
+ }, {}, {}>;
954
+ authorId: import("drizzle-orm/pg-core").PgColumn<{
955
+ name: "author_id";
956
+ tableName: "product_notes";
957
+ dataType: "string";
958
+ columnType: "PgText";
959
+ data: string;
960
+ driverParam: string;
961
+ notNull: true;
962
+ hasDefault: false;
963
+ isPrimaryKey: false;
964
+ isAutoincrement: false;
965
+ hasRuntimeDefault: false;
966
+ enumValues: [string, ...string[]];
967
+ baseColumn: never;
968
+ identity: undefined;
969
+ generated: undefined;
970
+ }, {}, {}>;
971
+ content: import("drizzle-orm/pg-core").PgColumn<{
972
+ name: "content";
973
+ tableName: "product_notes";
974
+ dataType: "string";
975
+ columnType: "PgText";
976
+ data: string;
977
+ driverParam: string;
978
+ notNull: true;
979
+ hasDefault: false;
980
+ isPrimaryKey: false;
981
+ isAutoincrement: false;
982
+ hasRuntimeDefault: false;
983
+ enumValues: [string, ...string[]];
984
+ baseColumn: never;
985
+ identity: undefined;
986
+ generated: undefined;
987
+ }, {}, {}>;
988
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
989
+ name: "created_at";
990
+ tableName: "product_notes";
991
+ dataType: "date";
992
+ columnType: "PgTimestamp";
993
+ data: Date;
994
+ driverParam: string;
995
+ notNull: true;
996
+ hasDefault: true;
997
+ isPrimaryKey: false;
998
+ isAutoincrement: false;
999
+ hasRuntimeDefault: false;
1000
+ enumValues: undefined;
1001
+ baseColumn: never;
1002
+ identity: undefined;
1003
+ generated: undefined;
1004
+ }, {}, {}>;
1005
+ }>, "where" | "orderBy">;
1006
+ createNote(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, userId: string, data: {
1007
+ content: string;
1008
+ }): Promise<{
1009
+ id: string;
1010
+ createdAt: Date;
1011
+ productId: string;
1012
+ content: string;
1013
+ authorId: string;
1014
+ } | null | undefined>;
1015
+ recalculate(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
1016
+ costAmountCents: number;
1017
+ marginPercent: number;
1018
+ } | null>;
1019
+ listItineraries(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"product_itineraries", {
1020
+ id: import("drizzle-orm/pg-core").PgColumn<{
1021
+ name: string;
1022
+ tableName: "product_itineraries";
1023
+ dataType: "string";
1024
+ columnType: "PgText";
1025
+ data: string;
1026
+ driverParam: string;
1027
+ notNull: true;
1028
+ hasDefault: true;
1029
+ isPrimaryKey: true;
1030
+ isAutoincrement: false;
1031
+ hasRuntimeDefault: true;
1032
+ enumValues: [string, ...string[]];
1033
+ baseColumn: never;
1034
+ identity: undefined;
1035
+ generated: undefined;
1036
+ }, {}, {}>;
1037
+ productId: import("drizzle-orm/pg-core").PgColumn<{
1038
+ name: string;
1039
+ tableName: "product_itineraries";
1040
+ dataType: "string";
1041
+ columnType: "PgText";
1042
+ data: string;
1043
+ driverParam: string;
1044
+ notNull: true;
1045
+ hasDefault: false;
1046
+ isPrimaryKey: false;
1047
+ isAutoincrement: false;
1048
+ hasRuntimeDefault: false;
1049
+ enumValues: [string, ...string[]];
1050
+ baseColumn: never;
1051
+ identity: undefined;
1052
+ generated: undefined;
1053
+ }, {}, {}>;
1054
+ name: import("drizzle-orm/pg-core").PgColumn<{
1055
+ name: "name";
1056
+ tableName: "product_itineraries";
1057
+ dataType: "string";
1058
+ columnType: "PgText";
1059
+ data: string;
1060
+ driverParam: string;
1061
+ notNull: true;
1062
+ hasDefault: false;
1063
+ isPrimaryKey: false;
1064
+ isAutoincrement: false;
1065
+ hasRuntimeDefault: false;
1066
+ enumValues: [string, ...string[]];
1067
+ baseColumn: never;
1068
+ identity: undefined;
1069
+ generated: undefined;
1070
+ }, {}, {}>;
1071
+ isDefault: import("drizzle-orm/pg-core").PgColumn<{
1072
+ name: "is_default";
1073
+ tableName: "product_itineraries";
1074
+ dataType: "boolean";
1075
+ columnType: "PgBoolean";
1076
+ data: boolean;
1077
+ driverParam: boolean;
1078
+ notNull: true;
1079
+ hasDefault: true;
1080
+ isPrimaryKey: false;
1081
+ isAutoincrement: false;
1082
+ hasRuntimeDefault: false;
1083
+ enumValues: undefined;
1084
+ baseColumn: never;
1085
+ identity: undefined;
1086
+ generated: undefined;
1087
+ }, {}, {}>;
1088
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
1089
+ name: "sort_order";
1090
+ tableName: "product_itineraries";
1091
+ dataType: "number";
1092
+ columnType: "PgInteger";
1093
+ data: number;
1094
+ driverParam: string | number;
1095
+ notNull: true;
1096
+ hasDefault: true;
1097
+ isPrimaryKey: false;
1098
+ isAutoincrement: false;
1099
+ hasRuntimeDefault: false;
1100
+ enumValues: undefined;
1101
+ baseColumn: never;
1102
+ identity: undefined;
1103
+ generated: undefined;
1104
+ }, {}, {}>;
1105
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1106
+ name: "created_at";
1107
+ tableName: "product_itineraries";
1108
+ dataType: "date";
1109
+ columnType: "PgTimestamp";
1110
+ data: Date;
1111
+ driverParam: string;
1112
+ notNull: true;
1113
+ hasDefault: true;
1114
+ isPrimaryKey: false;
1115
+ isAutoincrement: false;
1116
+ hasRuntimeDefault: false;
1117
+ enumValues: undefined;
1118
+ baseColumn: never;
1119
+ identity: undefined;
1120
+ generated: undefined;
1121
+ }, {}, {}>;
1122
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1123
+ name: "updated_at";
1124
+ tableName: "product_itineraries";
1125
+ dataType: "date";
1126
+ columnType: "PgTimestamp";
1127
+ data: Date;
1128
+ driverParam: string;
1129
+ notNull: true;
1130
+ hasDefault: true;
1131
+ isPrimaryKey: false;
1132
+ isAutoincrement: false;
1133
+ hasRuntimeDefault: false;
1134
+ enumValues: undefined;
1135
+ baseColumn: never;
1136
+ identity: undefined;
1137
+ generated: undefined;
1138
+ }, {}, {}>;
1139
+ }, "single", Record<"product_itineraries", "not-null">, false, "where" | "orderBy", {
1140
+ id: string;
1141
+ productId: string;
1142
+ name: string;
1143
+ isDefault: boolean;
1144
+ sortOrder: number;
1145
+ createdAt: Date;
1146
+ updatedAt: Date;
1147
+ }[], {
1148
+ id: import("drizzle-orm/pg-core").PgColumn<{
1149
+ name: string;
1150
+ tableName: "product_itineraries";
1151
+ dataType: "string";
1152
+ columnType: "PgText";
1153
+ data: string;
1154
+ driverParam: string;
1155
+ notNull: true;
1156
+ hasDefault: true;
1157
+ isPrimaryKey: true;
1158
+ isAutoincrement: false;
1159
+ hasRuntimeDefault: true;
1160
+ enumValues: [string, ...string[]];
1161
+ baseColumn: never;
1162
+ identity: undefined;
1163
+ generated: undefined;
1164
+ }, {}, {}>;
1165
+ productId: import("drizzle-orm/pg-core").PgColumn<{
1166
+ name: string;
1167
+ tableName: "product_itineraries";
1168
+ dataType: "string";
1169
+ columnType: "PgText";
1170
+ data: string;
1171
+ driverParam: string;
1172
+ notNull: true;
1173
+ hasDefault: false;
1174
+ isPrimaryKey: false;
1175
+ isAutoincrement: false;
1176
+ hasRuntimeDefault: false;
1177
+ enumValues: [string, ...string[]];
1178
+ baseColumn: never;
1179
+ identity: undefined;
1180
+ generated: undefined;
1181
+ }, {}, {}>;
1182
+ name: import("drizzle-orm/pg-core").PgColumn<{
1183
+ name: "name";
1184
+ tableName: "product_itineraries";
1185
+ dataType: "string";
1186
+ columnType: "PgText";
1187
+ data: string;
1188
+ driverParam: string;
1189
+ notNull: true;
1190
+ hasDefault: false;
1191
+ isPrimaryKey: false;
1192
+ isAutoincrement: false;
1193
+ hasRuntimeDefault: false;
1194
+ enumValues: [string, ...string[]];
1195
+ baseColumn: never;
1196
+ identity: undefined;
1197
+ generated: undefined;
1198
+ }, {}, {}>;
1199
+ isDefault: import("drizzle-orm/pg-core").PgColumn<{
1200
+ name: "is_default";
1201
+ tableName: "product_itineraries";
1202
+ dataType: "boolean";
1203
+ columnType: "PgBoolean";
1204
+ data: boolean;
1205
+ driverParam: boolean;
1206
+ notNull: true;
1207
+ hasDefault: true;
1208
+ isPrimaryKey: false;
1209
+ isAutoincrement: false;
1210
+ hasRuntimeDefault: false;
1211
+ enumValues: undefined;
1212
+ baseColumn: never;
1213
+ identity: undefined;
1214
+ generated: undefined;
1215
+ }, {}, {}>;
1216
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
1217
+ name: "sort_order";
1218
+ tableName: "product_itineraries";
1219
+ dataType: "number";
1220
+ columnType: "PgInteger";
1221
+ data: number;
1222
+ driverParam: string | number;
1223
+ notNull: true;
1224
+ hasDefault: true;
1225
+ isPrimaryKey: false;
1226
+ isAutoincrement: false;
1227
+ hasRuntimeDefault: false;
1228
+ enumValues: undefined;
1229
+ baseColumn: never;
1230
+ identity: undefined;
1231
+ generated: undefined;
1232
+ }, {}, {}>;
1233
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1234
+ name: "created_at";
1235
+ tableName: "product_itineraries";
1236
+ dataType: "date";
1237
+ columnType: "PgTimestamp";
1238
+ data: Date;
1239
+ driverParam: string;
1240
+ notNull: true;
1241
+ hasDefault: true;
1242
+ isPrimaryKey: false;
1243
+ isAutoincrement: false;
1244
+ hasRuntimeDefault: false;
1245
+ enumValues: undefined;
1246
+ baseColumn: never;
1247
+ identity: undefined;
1248
+ generated: undefined;
1249
+ }, {}, {}>;
1250
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1251
+ name: "updated_at";
1252
+ tableName: "product_itineraries";
1253
+ dataType: "date";
1254
+ columnType: "PgTimestamp";
1255
+ data: Date;
1256
+ driverParam: string;
1257
+ notNull: true;
1258
+ hasDefault: true;
1259
+ isPrimaryKey: false;
1260
+ isAutoincrement: false;
1261
+ hasRuntimeDefault: false;
1262
+ enumValues: undefined;
1263
+ baseColumn: never;
1264
+ identity: undefined;
1265
+ generated: undefined;
1266
+ }, {}, {}>;
1267
+ }>, "where" | "orderBy">;
1268
+ getItineraryById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, itineraryId: string): Promise<{
1269
+ id: string;
1270
+ productId: string;
1271
+ name: string;
1272
+ isDefault: boolean;
1273
+ sortOrder: number;
1274
+ createdAt: Date;
1275
+ updatedAt: Date;
1276
+ } | null>;
1277
+ createItinerary(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
1278
+ name: string;
1279
+ isDefault: boolean;
1280
+ sortOrder: number;
1281
+ }): Promise<{
1282
+ id: string;
1283
+ name: string;
1284
+ createdAt: Date;
1285
+ updatedAt: Date;
1286
+ productId: string;
1287
+ isDefault: boolean;
1288
+ sortOrder: number;
1289
+ } | null>;
1290
+ updateItinerary(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, itineraryId: string, data: {
1291
+ name?: string | undefined;
1292
+ isDefault?: boolean | undefined;
1293
+ sortOrder?: number | undefined;
1294
+ }): Promise<{
1295
+ id: string;
1296
+ productId: string;
1297
+ name: string;
1298
+ isDefault: boolean;
1299
+ sortOrder: number;
1300
+ createdAt: Date;
1301
+ updatedAt: Date;
1302
+ } | null>;
1303
+ deleteItinerary(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, itineraryId: string): Promise<{
1304
+ id: string;
1305
+ } | null>;
1306
+ duplicateItinerary(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, itineraryId: string, options?: {
1307
+ name?: string;
1308
+ }): Promise<{
1309
+ id: string;
1310
+ name: string;
1311
+ createdAt: Date;
1312
+ updatedAt: Date;
1313
+ productId: string;
1314
+ isDefault: boolean;
1315
+ sortOrder: number;
1316
+ } | null>;
1317
+ listDays(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
1318
+ id: string;
1319
+ itineraryId: string;
1320
+ dayNumber: number;
1321
+ title: string | null;
1322
+ description: string | null;
1323
+ location: string | null;
1324
+ createdAt: Date;
1325
+ updatedAt: Date;
1326
+ }[]>;
1327
+ listItineraryDays(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, itineraryId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"product_days", {
1328
+ id: import("drizzle-orm/pg-core").PgColumn<{
1329
+ name: string;
1330
+ tableName: "product_days";
1331
+ dataType: "string";
1332
+ columnType: "PgText";
1333
+ data: string;
1334
+ driverParam: string;
1335
+ notNull: true;
1336
+ hasDefault: true;
1337
+ isPrimaryKey: true;
1338
+ isAutoincrement: false;
1339
+ hasRuntimeDefault: true;
1340
+ enumValues: [string, ...string[]];
1341
+ baseColumn: never;
1342
+ identity: undefined;
1343
+ generated: undefined;
1344
+ }, {}, {}>;
1345
+ itineraryId: import("drizzle-orm/pg-core").PgColumn<{
1346
+ name: string;
1347
+ tableName: "product_days";
1348
+ dataType: "string";
1349
+ columnType: "PgText";
1350
+ data: string;
1351
+ driverParam: string;
1352
+ notNull: true;
1353
+ hasDefault: false;
1354
+ isPrimaryKey: false;
1355
+ isAutoincrement: false;
1356
+ hasRuntimeDefault: false;
1357
+ enumValues: [string, ...string[]];
1358
+ baseColumn: never;
1359
+ identity: undefined;
1360
+ generated: undefined;
1361
+ }, {}, {}>;
1362
+ dayNumber: import("drizzle-orm/pg-core").PgColumn<{
1363
+ name: "day_number";
1364
+ tableName: "product_days";
1365
+ dataType: "number";
1366
+ columnType: "PgInteger";
1367
+ data: number;
1368
+ driverParam: string | number;
1369
+ notNull: true;
1370
+ hasDefault: false;
1371
+ isPrimaryKey: false;
1372
+ isAutoincrement: false;
1373
+ hasRuntimeDefault: false;
1374
+ enumValues: undefined;
1375
+ baseColumn: never;
1376
+ identity: undefined;
1377
+ generated: undefined;
1378
+ }, {}, {}>;
1379
+ title: import("drizzle-orm/pg-core").PgColumn<{
1380
+ name: "title";
1381
+ tableName: "product_days";
1382
+ dataType: "string";
1383
+ columnType: "PgText";
1384
+ data: string;
1385
+ driverParam: string;
1386
+ notNull: false;
1387
+ hasDefault: false;
1388
+ isPrimaryKey: false;
1389
+ isAutoincrement: false;
1390
+ hasRuntimeDefault: false;
1391
+ enumValues: [string, ...string[]];
1392
+ baseColumn: never;
1393
+ identity: undefined;
1394
+ generated: undefined;
1395
+ }, {}, {}>;
1396
+ description: import("drizzle-orm/pg-core").PgColumn<{
1397
+ name: "description";
1398
+ tableName: "product_days";
1399
+ dataType: "string";
1400
+ columnType: "PgText";
1401
+ data: string;
1402
+ driverParam: string;
1403
+ notNull: false;
1404
+ hasDefault: false;
1405
+ isPrimaryKey: false;
1406
+ isAutoincrement: false;
1407
+ hasRuntimeDefault: false;
1408
+ enumValues: [string, ...string[]];
1409
+ baseColumn: never;
1410
+ identity: undefined;
1411
+ generated: undefined;
1412
+ }, {}, {}>;
1413
+ location: import("drizzle-orm/pg-core").PgColumn<{
1414
+ name: "location";
1415
+ tableName: "product_days";
1416
+ dataType: "string";
1417
+ columnType: "PgText";
1418
+ data: string;
1419
+ driverParam: string;
1420
+ notNull: false;
1421
+ hasDefault: false;
1422
+ isPrimaryKey: false;
1423
+ isAutoincrement: false;
1424
+ hasRuntimeDefault: false;
1425
+ enumValues: [string, ...string[]];
1426
+ baseColumn: never;
1427
+ identity: undefined;
1428
+ generated: undefined;
1429
+ }, {}, {}>;
1430
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1431
+ name: "created_at";
1432
+ tableName: "product_days";
1433
+ dataType: "date";
1434
+ columnType: "PgTimestamp";
1435
+ data: Date;
1436
+ driverParam: string;
1437
+ notNull: true;
1438
+ hasDefault: true;
1439
+ isPrimaryKey: false;
1440
+ isAutoincrement: false;
1441
+ hasRuntimeDefault: false;
1442
+ enumValues: undefined;
1443
+ baseColumn: never;
1444
+ identity: undefined;
1445
+ generated: undefined;
1446
+ }, {}, {}>;
1447
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1448
+ name: "updated_at";
1449
+ tableName: "product_days";
1450
+ dataType: "date";
1451
+ columnType: "PgTimestamp";
1452
+ data: Date;
1453
+ driverParam: string;
1454
+ notNull: true;
1455
+ hasDefault: true;
1456
+ isPrimaryKey: false;
1457
+ isAutoincrement: false;
1458
+ hasRuntimeDefault: false;
1459
+ enumValues: undefined;
1460
+ baseColumn: never;
1461
+ identity: undefined;
1462
+ generated: undefined;
1463
+ }, {}, {}>;
1464
+ }, "single", Record<"product_days", "not-null">, false, "where" | "orderBy", {
1465
+ id: string;
1466
+ itineraryId: string;
1467
+ dayNumber: number;
1468
+ title: string | null;
1469
+ description: string | null;
1470
+ location: string | null;
1471
+ createdAt: Date;
1472
+ updatedAt: Date;
1473
+ }[], {
1474
+ id: import("drizzle-orm/pg-core").PgColumn<{
1475
+ name: string;
1476
+ tableName: "product_days";
1477
+ dataType: "string";
1478
+ columnType: "PgText";
1479
+ data: string;
1480
+ driverParam: string;
1481
+ notNull: true;
1482
+ hasDefault: true;
1483
+ isPrimaryKey: true;
1484
+ isAutoincrement: false;
1485
+ hasRuntimeDefault: true;
1486
+ enumValues: [string, ...string[]];
1487
+ baseColumn: never;
1488
+ identity: undefined;
1489
+ generated: undefined;
1490
+ }, {}, {}>;
1491
+ itineraryId: import("drizzle-orm/pg-core").PgColumn<{
1492
+ name: string;
1493
+ tableName: "product_days";
1494
+ dataType: "string";
1495
+ columnType: "PgText";
1496
+ data: string;
1497
+ driverParam: string;
1498
+ notNull: true;
1499
+ hasDefault: false;
1500
+ isPrimaryKey: false;
1501
+ isAutoincrement: false;
1502
+ hasRuntimeDefault: false;
1503
+ enumValues: [string, ...string[]];
1504
+ baseColumn: never;
1505
+ identity: undefined;
1506
+ generated: undefined;
1507
+ }, {}, {}>;
1508
+ dayNumber: import("drizzle-orm/pg-core").PgColumn<{
1509
+ name: "day_number";
1510
+ tableName: "product_days";
1511
+ dataType: "number";
1512
+ columnType: "PgInteger";
1513
+ data: number;
1514
+ driverParam: string | number;
1515
+ notNull: true;
1516
+ hasDefault: false;
1517
+ isPrimaryKey: false;
1518
+ isAutoincrement: false;
1519
+ hasRuntimeDefault: false;
1520
+ enumValues: undefined;
1521
+ baseColumn: never;
1522
+ identity: undefined;
1523
+ generated: undefined;
1524
+ }, {}, {}>;
1525
+ title: import("drizzle-orm/pg-core").PgColumn<{
1526
+ name: "title";
1527
+ tableName: "product_days";
1528
+ dataType: "string";
1529
+ columnType: "PgText";
1530
+ data: string;
1531
+ driverParam: string;
1532
+ notNull: false;
1533
+ hasDefault: false;
1534
+ isPrimaryKey: false;
1535
+ isAutoincrement: false;
1536
+ hasRuntimeDefault: false;
1537
+ enumValues: [string, ...string[]];
1538
+ baseColumn: never;
1539
+ identity: undefined;
1540
+ generated: undefined;
1541
+ }, {}, {}>;
1542
+ description: import("drizzle-orm/pg-core").PgColumn<{
1543
+ name: "description";
1544
+ tableName: "product_days";
1545
+ dataType: "string";
1546
+ columnType: "PgText";
1547
+ data: string;
1548
+ driverParam: string;
1549
+ notNull: false;
1550
+ hasDefault: false;
1551
+ isPrimaryKey: false;
1552
+ isAutoincrement: false;
1553
+ hasRuntimeDefault: false;
1554
+ enumValues: [string, ...string[]];
1555
+ baseColumn: never;
1556
+ identity: undefined;
1557
+ generated: undefined;
1558
+ }, {}, {}>;
1559
+ location: import("drizzle-orm/pg-core").PgColumn<{
1560
+ name: "location";
1561
+ tableName: "product_days";
1562
+ dataType: "string";
1563
+ columnType: "PgText";
1564
+ data: string;
1565
+ driverParam: string;
1566
+ notNull: false;
1567
+ hasDefault: false;
1568
+ isPrimaryKey: false;
1569
+ isAutoincrement: false;
1570
+ hasRuntimeDefault: false;
1571
+ enumValues: [string, ...string[]];
1572
+ baseColumn: never;
1573
+ identity: undefined;
1574
+ generated: undefined;
1575
+ }, {}, {}>;
1576
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1577
+ name: "created_at";
1578
+ tableName: "product_days";
1579
+ dataType: "date";
1580
+ columnType: "PgTimestamp";
1581
+ data: Date;
1582
+ driverParam: string;
1583
+ notNull: true;
1584
+ hasDefault: true;
1585
+ isPrimaryKey: false;
1586
+ isAutoincrement: false;
1587
+ hasRuntimeDefault: false;
1588
+ enumValues: undefined;
1589
+ baseColumn: never;
1590
+ identity: undefined;
1591
+ generated: undefined;
1592
+ }, {}, {}>;
1593
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1594
+ name: "updated_at";
1595
+ tableName: "product_days";
1596
+ dataType: "date";
1597
+ columnType: "PgTimestamp";
1598
+ data: Date;
1599
+ driverParam: string;
1600
+ notNull: true;
1601
+ hasDefault: true;
1602
+ isPrimaryKey: false;
1603
+ isAutoincrement: false;
1604
+ hasRuntimeDefault: false;
1605
+ enumValues: undefined;
1606
+ baseColumn: never;
1607
+ identity: undefined;
1608
+ generated: undefined;
1609
+ }, {}, {}>;
1610
+ }>, "where" | "orderBy">;
1611
+ getDayForProductMutation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, dayId: string): Promise<{
1612
+ productId: string;
1613
+ id: string;
1614
+ itineraryId: string;
1615
+ dayNumber: number;
1616
+ title: string | null;
1617
+ description: string | null;
1618
+ location: string | null;
1619
+ createdAt: Date;
1620
+ updatedAt: Date;
1621
+ } | null>;
1622
+ createDay(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
1623
+ dayNumber: number;
1624
+ title?: string | null | undefined;
1625
+ description?: string | null | undefined;
1626
+ location?: string | null | undefined;
1627
+ }): Promise<{
1628
+ id: string;
1629
+ description: string | null;
1630
+ createdAt: Date;
1631
+ updatedAt: Date;
1632
+ title: string | null;
1633
+ location: string | null;
1634
+ dayNumber: number;
1635
+ itineraryId: string;
1636
+ } | null | undefined>;
1637
+ createItineraryDay(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, itineraryId: string, data: {
1638
+ dayNumber: number;
1639
+ title?: string | null | undefined;
1640
+ description?: string | null | undefined;
1641
+ location?: string | null | undefined;
1642
+ }): Promise<{
1643
+ id: string;
1644
+ description: string | null;
1645
+ createdAt: Date;
1646
+ updatedAt: Date;
1647
+ title: string | null;
1648
+ location: string | null;
1649
+ dayNumber: number;
1650
+ itineraryId: string;
1651
+ } | null | undefined>;
1652
+ updateDay(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, dayId: string, data: {
1653
+ dayNumber?: number | undefined;
1654
+ title?: string | null | undefined;
1655
+ description?: string | null | undefined;
1656
+ location?: string | null | undefined;
1657
+ }): Promise<{
1658
+ id: string;
1659
+ itineraryId: string;
1660
+ dayNumber: number;
1661
+ title: string | null;
1662
+ description: string | null;
1663
+ location: string | null;
1664
+ createdAt: Date;
1665
+ updatedAt: Date;
1666
+ } | null>;
1667
+ deleteDay(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, dayId: string): Promise<{
1668
+ id: string;
1669
+ } | null>;
1670
+ listDayServices(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, dayId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"product_day_services", {
1671
+ id: import("drizzle-orm/pg-core").PgColumn<{
1672
+ name: string;
1673
+ tableName: "product_day_services";
1674
+ dataType: "string";
1675
+ columnType: "PgText";
1676
+ data: string;
1677
+ driverParam: string;
1678
+ notNull: true;
1679
+ hasDefault: true;
1680
+ isPrimaryKey: true;
1681
+ isAutoincrement: false;
1682
+ hasRuntimeDefault: true;
1683
+ enumValues: [string, ...string[]];
1684
+ baseColumn: never;
1685
+ identity: undefined;
1686
+ generated: undefined;
1687
+ }, {}, {}>;
1688
+ dayId: import("drizzle-orm/pg-core").PgColumn<{
1689
+ name: string;
1690
+ tableName: "product_day_services";
1691
+ dataType: "string";
1692
+ columnType: "PgText";
1693
+ data: string;
1694
+ driverParam: string;
1695
+ notNull: true;
1696
+ hasDefault: false;
1697
+ isPrimaryKey: false;
1698
+ isAutoincrement: false;
1699
+ hasRuntimeDefault: false;
1700
+ enumValues: [string, ...string[]];
1701
+ baseColumn: never;
1702
+ identity: undefined;
1703
+ generated: undefined;
1704
+ }, {}, {}>;
1705
+ supplierServiceId: import("drizzle-orm/pg-core").PgColumn<{
1706
+ name: "supplier_service_id";
1707
+ tableName: "product_day_services";
1708
+ dataType: "string";
1709
+ columnType: "PgText";
1710
+ data: string;
1711
+ driverParam: string;
1712
+ notNull: false;
1713
+ hasDefault: false;
1714
+ isPrimaryKey: false;
1715
+ isAutoincrement: false;
1716
+ hasRuntimeDefault: false;
1717
+ enumValues: [string, ...string[]];
1718
+ baseColumn: never;
1719
+ identity: undefined;
1720
+ generated: undefined;
1721
+ }, {}, {}>;
1722
+ serviceType: import("drizzle-orm/pg-core").PgColumn<{
1723
+ name: "service_type";
1724
+ tableName: "product_day_services";
1725
+ dataType: "string";
1726
+ columnType: "PgEnumColumn";
1727
+ data: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal";
1728
+ driverParam: string;
1729
+ notNull: true;
1730
+ hasDefault: false;
1731
+ isPrimaryKey: false;
1732
+ isAutoincrement: false;
1733
+ hasRuntimeDefault: false;
1734
+ enumValues: ["accommodation", "transfer", "experience", "guide", "meal", "other"];
1735
+ baseColumn: never;
1736
+ identity: undefined;
1737
+ generated: undefined;
1738
+ }, {}, {}>;
1739
+ name: import("drizzle-orm/pg-core").PgColumn<{
1740
+ name: "name";
1741
+ tableName: "product_day_services";
1742
+ dataType: "string";
1743
+ columnType: "PgText";
1744
+ data: string;
1745
+ driverParam: string;
1746
+ notNull: true;
1747
+ hasDefault: false;
1748
+ isPrimaryKey: false;
1749
+ isAutoincrement: false;
1750
+ hasRuntimeDefault: false;
1751
+ enumValues: [string, ...string[]];
1752
+ baseColumn: never;
1753
+ identity: undefined;
1754
+ generated: undefined;
1755
+ }, {}, {}>;
1756
+ description: import("drizzle-orm/pg-core").PgColumn<{
1757
+ name: "description";
1758
+ tableName: "product_day_services";
1759
+ dataType: "string";
1760
+ columnType: "PgText";
1761
+ data: string;
1762
+ driverParam: string;
1763
+ notNull: false;
1764
+ hasDefault: false;
1765
+ isPrimaryKey: false;
1766
+ isAutoincrement: false;
1767
+ hasRuntimeDefault: false;
1768
+ enumValues: [string, ...string[]];
1769
+ baseColumn: never;
1770
+ identity: undefined;
1771
+ generated: undefined;
1772
+ }, {}, {}>;
1773
+ countryCode: import("drizzle-orm/pg-core").PgColumn<{
1774
+ name: "country_code";
1775
+ tableName: "product_day_services";
1776
+ dataType: "string";
1777
+ columnType: "PgText";
1778
+ data: string;
1779
+ driverParam: string;
1780
+ notNull: false;
1781
+ hasDefault: false;
1782
+ isPrimaryKey: false;
1783
+ isAutoincrement: false;
1784
+ hasRuntimeDefault: false;
1785
+ enumValues: [string, ...string[]];
1786
+ baseColumn: never;
1787
+ identity: undefined;
1788
+ generated: undefined;
1789
+ }, {}, {}>;
1790
+ costCurrency: import("drizzle-orm/pg-core").PgColumn<{
1791
+ name: "cost_currency";
1792
+ tableName: "product_day_services";
1793
+ dataType: "string";
1794
+ columnType: "PgText";
1795
+ data: string;
1796
+ driverParam: string;
1797
+ notNull: true;
1798
+ hasDefault: false;
1799
+ isPrimaryKey: false;
1800
+ isAutoincrement: false;
1801
+ hasRuntimeDefault: false;
1802
+ enumValues: [string, ...string[]];
1803
+ baseColumn: never;
1804
+ identity: undefined;
1805
+ generated: undefined;
1806
+ }, {}, {}>;
1807
+ costAmountCents: import("drizzle-orm/pg-core").PgColumn<{
1808
+ name: "cost_amount_cents";
1809
+ tableName: "product_day_services";
1810
+ dataType: "number";
1811
+ columnType: "PgInteger";
1812
+ data: number;
1813
+ driverParam: string | number;
1814
+ notNull: true;
1815
+ hasDefault: false;
1816
+ isPrimaryKey: false;
1817
+ isAutoincrement: false;
1818
+ hasRuntimeDefault: false;
1819
+ enumValues: undefined;
1820
+ baseColumn: never;
1821
+ identity: undefined;
1822
+ generated: undefined;
1823
+ }, {}, {}>;
1824
+ quantity: import("drizzle-orm/pg-core").PgColumn<{
1825
+ name: "quantity";
1826
+ tableName: "product_day_services";
1827
+ dataType: "number";
1828
+ columnType: "PgInteger";
1829
+ data: number;
1830
+ driverParam: string | number;
1831
+ notNull: true;
1832
+ hasDefault: true;
1833
+ isPrimaryKey: false;
1834
+ isAutoincrement: false;
1835
+ hasRuntimeDefault: false;
1836
+ enumValues: undefined;
1837
+ baseColumn: never;
1838
+ identity: undefined;
1839
+ generated: undefined;
1840
+ }, {}, {}>;
1841
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
1842
+ name: "sort_order";
1843
+ tableName: "product_day_services";
1844
+ dataType: "number";
1845
+ columnType: "PgInteger";
1846
+ data: number;
1847
+ driverParam: string | number;
1848
+ notNull: false;
1849
+ hasDefault: false;
1850
+ isPrimaryKey: false;
1851
+ isAutoincrement: false;
1852
+ hasRuntimeDefault: false;
1853
+ enumValues: undefined;
1854
+ baseColumn: never;
1855
+ identity: undefined;
1856
+ generated: undefined;
1857
+ }, {}, {}>;
1858
+ notes: import("drizzle-orm/pg-core").PgColumn<{
1859
+ name: "notes";
1860
+ tableName: "product_day_services";
1861
+ dataType: "string";
1862
+ columnType: "PgText";
1863
+ data: string;
1864
+ driverParam: string;
1865
+ notNull: false;
1866
+ hasDefault: false;
1867
+ isPrimaryKey: false;
1868
+ isAutoincrement: false;
1869
+ hasRuntimeDefault: false;
1870
+ enumValues: [string, ...string[]];
1871
+ baseColumn: never;
1872
+ identity: undefined;
1873
+ generated: undefined;
1874
+ }, {}, {}>;
1875
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1876
+ name: "created_at";
1877
+ tableName: "product_day_services";
1878
+ dataType: "date";
1879
+ columnType: "PgTimestamp";
1880
+ data: Date;
1881
+ driverParam: string;
1882
+ notNull: true;
1883
+ hasDefault: true;
1884
+ isPrimaryKey: false;
1885
+ isAutoincrement: false;
1886
+ hasRuntimeDefault: false;
1887
+ enumValues: undefined;
1888
+ baseColumn: never;
1889
+ identity: undefined;
1890
+ generated: undefined;
1891
+ }, {}, {}>;
1892
+ }, "single", Record<"product_day_services", "not-null">, false, "where" | "orderBy", {
1893
+ id: string;
1894
+ dayId: string;
1895
+ supplierServiceId: string | null;
1896
+ serviceType: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal";
1897
+ name: string;
1898
+ description: string | null;
1899
+ countryCode: string | null;
1900
+ costCurrency: string;
1901
+ costAmountCents: number;
1902
+ quantity: number;
1903
+ sortOrder: number | null;
1904
+ notes: string | null;
1905
+ createdAt: Date;
1906
+ }[], {
1907
+ id: import("drizzle-orm/pg-core").PgColumn<{
1908
+ name: string;
1909
+ tableName: "product_day_services";
1910
+ dataType: "string";
1911
+ columnType: "PgText";
1912
+ data: string;
1913
+ driverParam: string;
1914
+ notNull: true;
1915
+ hasDefault: true;
1916
+ isPrimaryKey: true;
1917
+ isAutoincrement: false;
1918
+ hasRuntimeDefault: true;
1919
+ enumValues: [string, ...string[]];
1920
+ baseColumn: never;
1921
+ identity: undefined;
1922
+ generated: undefined;
1923
+ }, {}, {}>;
1924
+ dayId: import("drizzle-orm/pg-core").PgColumn<{
1925
+ name: string;
1926
+ tableName: "product_day_services";
1927
+ dataType: "string";
1928
+ columnType: "PgText";
1929
+ data: string;
1930
+ driverParam: string;
1931
+ notNull: true;
1932
+ hasDefault: false;
1933
+ isPrimaryKey: false;
1934
+ isAutoincrement: false;
1935
+ hasRuntimeDefault: false;
1936
+ enumValues: [string, ...string[]];
1937
+ baseColumn: never;
1938
+ identity: undefined;
1939
+ generated: undefined;
1940
+ }, {}, {}>;
1941
+ supplierServiceId: import("drizzle-orm/pg-core").PgColumn<{
1942
+ name: "supplier_service_id";
1943
+ tableName: "product_day_services";
1944
+ dataType: "string";
1945
+ columnType: "PgText";
1946
+ data: string;
1947
+ driverParam: string;
1948
+ notNull: false;
1949
+ hasDefault: false;
1950
+ isPrimaryKey: false;
1951
+ isAutoincrement: false;
1952
+ hasRuntimeDefault: false;
1953
+ enumValues: [string, ...string[]];
1954
+ baseColumn: never;
1955
+ identity: undefined;
1956
+ generated: undefined;
1957
+ }, {}, {}>;
1958
+ serviceType: import("drizzle-orm/pg-core").PgColumn<{
1959
+ name: "service_type";
1960
+ tableName: "product_day_services";
1961
+ dataType: "string";
1962
+ columnType: "PgEnumColumn";
1963
+ data: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal";
1964
+ driverParam: string;
1965
+ notNull: true;
1966
+ hasDefault: false;
1967
+ isPrimaryKey: false;
1968
+ isAutoincrement: false;
1969
+ hasRuntimeDefault: false;
1970
+ enumValues: ["accommodation", "transfer", "experience", "guide", "meal", "other"];
1971
+ baseColumn: never;
1972
+ identity: undefined;
1973
+ generated: undefined;
1974
+ }, {}, {}>;
1975
+ name: import("drizzle-orm/pg-core").PgColumn<{
1976
+ name: "name";
1977
+ tableName: "product_day_services";
1978
+ dataType: "string";
1979
+ columnType: "PgText";
1980
+ data: string;
1981
+ driverParam: string;
1982
+ notNull: true;
1983
+ hasDefault: false;
1984
+ isPrimaryKey: false;
1985
+ isAutoincrement: false;
1986
+ hasRuntimeDefault: false;
1987
+ enumValues: [string, ...string[]];
1988
+ baseColumn: never;
1989
+ identity: undefined;
1990
+ generated: undefined;
1991
+ }, {}, {}>;
1992
+ description: import("drizzle-orm/pg-core").PgColumn<{
1993
+ name: "description";
1994
+ tableName: "product_day_services";
1995
+ dataType: "string";
1996
+ columnType: "PgText";
1997
+ data: string;
1998
+ driverParam: string;
1999
+ notNull: false;
2000
+ hasDefault: false;
2001
+ isPrimaryKey: false;
2002
+ isAutoincrement: false;
2003
+ hasRuntimeDefault: false;
2004
+ enumValues: [string, ...string[]];
2005
+ baseColumn: never;
2006
+ identity: undefined;
2007
+ generated: undefined;
2008
+ }, {}, {}>;
2009
+ countryCode: import("drizzle-orm/pg-core").PgColumn<{
2010
+ name: "country_code";
2011
+ tableName: "product_day_services";
2012
+ dataType: "string";
2013
+ columnType: "PgText";
2014
+ data: string;
2015
+ driverParam: string;
2016
+ notNull: false;
2017
+ hasDefault: false;
2018
+ isPrimaryKey: false;
2019
+ isAutoincrement: false;
2020
+ hasRuntimeDefault: false;
2021
+ enumValues: [string, ...string[]];
2022
+ baseColumn: never;
2023
+ identity: undefined;
2024
+ generated: undefined;
2025
+ }, {}, {}>;
2026
+ costCurrency: import("drizzle-orm/pg-core").PgColumn<{
2027
+ name: "cost_currency";
2028
+ tableName: "product_day_services";
2029
+ dataType: "string";
2030
+ columnType: "PgText";
2031
+ data: string;
2032
+ driverParam: string;
2033
+ notNull: true;
2034
+ hasDefault: false;
2035
+ isPrimaryKey: false;
2036
+ isAutoincrement: false;
2037
+ hasRuntimeDefault: false;
2038
+ enumValues: [string, ...string[]];
2039
+ baseColumn: never;
2040
+ identity: undefined;
2041
+ generated: undefined;
2042
+ }, {}, {}>;
2043
+ costAmountCents: import("drizzle-orm/pg-core").PgColumn<{
2044
+ name: "cost_amount_cents";
2045
+ tableName: "product_day_services";
2046
+ dataType: "number";
2047
+ columnType: "PgInteger";
2048
+ data: number;
2049
+ driverParam: string | number;
2050
+ notNull: true;
2051
+ hasDefault: false;
2052
+ isPrimaryKey: false;
2053
+ isAutoincrement: false;
2054
+ hasRuntimeDefault: false;
2055
+ enumValues: undefined;
2056
+ baseColumn: never;
2057
+ identity: undefined;
2058
+ generated: undefined;
2059
+ }, {}, {}>;
2060
+ quantity: import("drizzle-orm/pg-core").PgColumn<{
2061
+ name: "quantity";
2062
+ tableName: "product_day_services";
2063
+ dataType: "number";
2064
+ columnType: "PgInteger";
2065
+ data: number;
2066
+ driverParam: string | number;
2067
+ notNull: true;
2068
+ hasDefault: true;
2069
+ isPrimaryKey: false;
2070
+ isAutoincrement: false;
2071
+ hasRuntimeDefault: false;
2072
+ enumValues: undefined;
2073
+ baseColumn: never;
2074
+ identity: undefined;
2075
+ generated: undefined;
2076
+ }, {}, {}>;
2077
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
2078
+ name: "sort_order";
2079
+ tableName: "product_day_services";
2080
+ dataType: "number";
2081
+ columnType: "PgInteger";
2082
+ data: number;
2083
+ driverParam: string | number;
2084
+ notNull: false;
2085
+ hasDefault: false;
2086
+ isPrimaryKey: false;
2087
+ isAutoincrement: false;
2088
+ hasRuntimeDefault: false;
2089
+ enumValues: undefined;
2090
+ baseColumn: never;
2091
+ identity: undefined;
2092
+ generated: undefined;
2093
+ }, {}, {}>;
2094
+ notes: import("drizzle-orm/pg-core").PgColumn<{
2095
+ name: "notes";
2096
+ tableName: "product_day_services";
2097
+ dataType: "string";
2098
+ columnType: "PgText";
2099
+ data: string;
2100
+ driverParam: string;
2101
+ notNull: false;
2102
+ hasDefault: false;
2103
+ isPrimaryKey: false;
2104
+ isAutoincrement: false;
2105
+ hasRuntimeDefault: false;
2106
+ enumValues: [string, ...string[]];
2107
+ baseColumn: never;
2108
+ identity: undefined;
2109
+ generated: undefined;
2110
+ }, {}, {}>;
2111
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
2112
+ name: "created_at";
2113
+ tableName: "product_day_services";
2114
+ dataType: "date";
2115
+ columnType: "PgTimestamp";
2116
+ data: Date;
2117
+ driverParam: string;
2118
+ notNull: true;
2119
+ hasDefault: true;
2120
+ isPrimaryKey: false;
2121
+ isAutoincrement: false;
2122
+ hasRuntimeDefault: false;
2123
+ enumValues: undefined;
2124
+ baseColumn: never;
2125
+ identity: undefined;
2126
+ generated: undefined;
2127
+ }, {}, {}>;
2128
+ }>, "where" | "orderBy">;
2129
+ getDayServiceForProductMutation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, serviceId: string): Promise<{
2130
+ productId: string;
2131
+ id: string;
2132
+ dayId: string;
2133
+ supplierServiceId: string | null;
2134
+ serviceType: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal";
2135
+ name: string;
2136
+ description: string | null;
2137
+ countryCode: string | null;
2138
+ costCurrency: string;
2139
+ costAmountCents: number;
2140
+ quantity: number;
2141
+ sortOrder: number | null;
2142
+ notes: string | null;
2143
+ createdAt: Date;
2144
+ } | null>;
2145
+ createDayService(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, dayId: string, data: {
2146
+ serviceType: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal";
2147
+ name: string;
2148
+ costCurrency: string;
2149
+ costAmountCents: number;
2150
+ quantity: number;
2151
+ description?: string | null | undefined;
2152
+ countryCode?: string | null | undefined;
2153
+ supplierServiceId?: string | null | undefined;
2154
+ sortOrder?: number | null | undefined;
2155
+ notes?: string | null | undefined;
2156
+ }): Promise<{
2157
+ id: string;
2158
+ name: string;
2159
+ description: string | null;
2160
+ costAmountCents: number;
2161
+ createdAt: Date;
2162
+ notes: string | null;
2163
+ sortOrder: number | null;
2164
+ countryCode: string | null;
2165
+ dayId: string;
2166
+ serviceType: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal";
2167
+ supplierServiceId: string | null;
2168
+ costCurrency: string;
2169
+ quantity: number;
2170
+ } | null | undefined>;
2171
+ updateDayService(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, serviceId: string, data: {
2172
+ serviceType?: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal" | undefined;
2173
+ name?: string | undefined;
2174
+ description?: string | null | undefined;
2175
+ countryCode?: string | null | undefined;
2176
+ supplierServiceId?: string | null | undefined;
2177
+ costCurrency?: string | undefined;
2178
+ costAmountCents?: number | undefined;
2179
+ quantity?: number | undefined;
2180
+ sortOrder?: number | null | undefined;
2181
+ notes?: string | null | undefined;
2182
+ }): Promise<{
2183
+ id: string;
2184
+ dayId: string;
2185
+ supplierServiceId: string | null;
2186
+ serviceType: "transfer" | "other" | "accommodation" | "experience" | "guide" | "meal";
2187
+ name: string;
2188
+ description: string | null;
2189
+ countryCode: string | null;
2190
+ costCurrency: string;
2191
+ costAmountCents: number;
2192
+ quantity: number;
2193
+ sortOrder: number | null;
2194
+ notes: string | null;
2195
+ createdAt: Date;
2196
+ } | null>;
2197
+ deleteDayService(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, serviceId: string): Promise<{
2198
+ id: string;
2199
+ } | null>;
2200
+ listProductTranslations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2201
+ limit: number;
2202
+ offset: number;
2203
+ productId?: string | undefined;
2204
+ languageTag?: string | undefined;
2205
+ }): Promise<{
2206
+ data: {
2207
+ id: string;
2208
+ productId: string;
2209
+ languageTag: string;
2210
+ slug: string | null;
2211
+ name: string;
2212
+ shortDescription: string | null;
2213
+ description: string | null;
2214
+ inclusionsHtml: string | null;
2215
+ exclusionsHtml: string | null;
2216
+ termsHtml: string | null;
2217
+ seoTitle: string | null;
2218
+ seoDescription: string | null;
2219
+ createdAt: Date;
2220
+ updatedAt: Date;
2221
+ }[];
2222
+ total: number;
2223
+ limit: number;
2224
+ offset: number;
2225
+ }>;
2226
+ getProductTranslationById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2227
+ id: string;
2228
+ productId: string;
2229
+ languageTag: string;
2230
+ slug: string | null;
2231
+ name: string;
2232
+ shortDescription: string | null;
2233
+ description: string | null;
2234
+ inclusionsHtml: string | null;
2235
+ exclusionsHtml: string | null;
2236
+ termsHtml: string | null;
2237
+ seoTitle: string | null;
2238
+ seoDescription: string | null;
2239
+ createdAt: Date;
2240
+ updatedAt: Date;
2241
+ } | null>;
2242
+ createProductTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
2243
+ languageTag: string;
2244
+ name: string;
2245
+ slug?: string | null | undefined;
2246
+ shortDescription?: string | null | undefined;
2247
+ description?: string | null | undefined;
2248
+ inclusionsHtml?: string | null | undefined;
2249
+ exclusionsHtml?: string | null | undefined;
2250
+ termsHtml?: string | null | undefined;
2251
+ seoTitle?: string | null | undefined;
2252
+ seoDescription?: string | null | undefined;
2253
+ }): Promise<{
2254
+ id: string;
2255
+ name: string;
2256
+ description: string | null;
2257
+ inclusionsHtml: string | null;
2258
+ exclusionsHtml: string | null;
2259
+ termsHtml: string | null;
2260
+ createdAt: Date;
2261
+ updatedAt: Date;
2262
+ productId: string;
2263
+ languageTag: string;
2264
+ slug: string | null;
2265
+ seoTitle: string | null;
2266
+ seoDescription: string | null;
2267
+ shortDescription: string | null;
2268
+ } | null>;
2269
+ updateProductTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2270
+ languageTag?: string | undefined;
2271
+ slug?: string | null | undefined;
2272
+ name?: string | undefined;
2273
+ shortDescription?: string | null | undefined;
2274
+ description?: string | null | undefined;
2275
+ inclusionsHtml?: string | null | undefined;
2276
+ exclusionsHtml?: string | null | undefined;
2277
+ termsHtml?: string | null | undefined;
2278
+ seoTitle?: string | null | undefined;
2279
+ seoDescription?: string | null | undefined;
2280
+ }): Promise<{
2281
+ id: string;
2282
+ productId: string;
2283
+ languageTag: string;
2284
+ slug: string | null;
2285
+ name: string;
2286
+ shortDescription: string | null;
2287
+ description: string | null;
2288
+ inclusionsHtml: string | null;
2289
+ exclusionsHtml: string | null;
2290
+ termsHtml: string | null;
2291
+ seoTitle: string | null;
2292
+ seoDescription: string | null;
2293
+ createdAt: Date;
2294
+ updatedAt: Date;
2295
+ } | null>;
2296
+ deleteProductTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2297
+ id: string;
2298
+ } | null>;
2299
+ listProductDayTranslations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2300
+ limit: number;
2301
+ offset: number;
2302
+ dayId?: string | undefined;
2303
+ languageTag?: string | undefined;
2304
+ }): Promise<{
2305
+ data: {
2306
+ id: string;
2307
+ dayId: string;
2308
+ languageTag: string;
2309
+ title: string | null;
2310
+ description: string | null;
2311
+ location: string | null;
2312
+ createdAt: Date;
2313
+ updatedAt: Date;
2314
+ }[];
2315
+ total: number;
2316
+ limit: number;
2317
+ offset: number;
2318
+ }>;
2319
+ getProductDayTranslationById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2320
+ id: string;
2321
+ dayId: string;
2322
+ languageTag: string;
2323
+ title: string | null;
2324
+ description: string | null;
2325
+ location: string | null;
2326
+ createdAt: Date;
2327
+ updatedAt: Date;
2328
+ } | null>;
2329
+ getDayTranslationForProductMutation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2330
+ productId: string;
2331
+ id: string;
2332
+ dayId: string;
2333
+ languageTag: string;
2334
+ title: string | null;
2335
+ description: string | null;
2336
+ location: string | null;
2337
+ createdAt: Date;
2338
+ updatedAt: Date;
2339
+ } | null>;
2340
+ createProductDayTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, dayId: string, data: {
2341
+ languageTag: string;
2342
+ title?: string | null | undefined;
2343
+ description?: string | null | undefined;
2344
+ location?: string | null | undefined;
2345
+ }): Promise<{
2346
+ id: string;
2347
+ description: string | null;
2348
+ createdAt: Date;
2349
+ updatedAt: Date;
2350
+ title: string | null;
2351
+ languageTag: string;
2352
+ dayId: string;
2353
+ location: string | null;
2354
+ } | null>;
2355
+ updateProductDayTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2356
+ languageTag?: string | undefined;
2357
+ title?: string | null | undefined;
2358
+ description?: string | null | undefined;
2359
+ location?: string | null | undefined;
2360
+ }): Promise<{
2361
+ id: string;
2362
+ dayId: string;
2363
+ languageTag: string;
2364
+ title: string | null;
2365
+ description: string | null;
2366
+ location: string | null;
2367
+ createdAt: Date;
2368
+ updatedAt: Date;
2369
+ } | null>;
2370
+ deleteProductDayTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2371
+ id: string;
2372
+ } | null>;
2373
+ listOptionTranslations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2374
+ limit: number;
2375
+ offset: number;
2376
+ optionId?: string | undefined;
2377
+ languageTag?: string | undefined;
2378
+ }): Promise<{
2379
+ data: {
2380
+ id: string;
2381
+ optionId: string;
2382
+ languageTag: string;
2383
+ name: string;
2384
+ shortDescription: string | null;
2385
+ description: string | null;
2386
+ createdAt: Date;
2387
+ updatedAt: Date;
2388
+ }[];
2389
+ total: number;
2390
+ limit: number;
2391
+ offset: number;
2392
+ }>;
2393
+ getOptionTranslationById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2394
+ id: string;
2395
+ optionId: string;
2396
+ languageTag: string;
2397
+ name: string;
2398
+ shortDescription: string | null;
2399
+ description: string | null;
2400
+ createdAt: Date;
2401
+ updatedAt: Date;
2402
+ } | null>;
2403
+ getOptionTranslationForProductMutation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2404
+ productId: string;
2405
+ id: string;
2406
+ optionId: string;
2407
+ languageTag: string;
2408
+ name: string;
2409
+ shortDescription: string | null;
2410
+ description: string | null;
2411
+ createdAt: Date;
2412
+ updatedAt: Date;
2413
+ } | null>;
2414
+ createOptionTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, optionId: string, data: {
2415
+ languageTag: string;
2416
+ name: string;
2417
+ shortDescription?: string | null | undefined;
2418
+ description?: string | null | undefined;
2419
+ }): Promise<{
2420
+ id: string;
2421
+ name: string;
2422
+ description: string | null;
2423
+ createdAt: Date;
2424
+ updatedAt: Date;
2425
+ languageTag: string;
2426
+ optionId: string;
2427
+ shortDescription: string | null;
2428
+ } | null>;
2429
+ updateOptionTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2430
+ languageTag?: string | undefined;
2431
+ name?: string | undefined;
2432
+ shortDescription?: string | null | undefined;
2433
+ description?: string | null | undefined;
2434
+ }): Promise<{
2435
+ id: string;
2436
+ optionId: string;
2437
+ languageTag: string;
2438
+ name: string;
2439
+ shortDescription: string | null;
2440
+ description: string | null;
2441
+ createdAt: Date;
2442
+ updatedAt: Date;
2443
+ } | null>;
2444
+ deleteOptionTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2445
+ id: string;
2446
+ } | null>;
2447
+ listUnitTranslations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2448
+ limit: number;
2449
+ offset: number;
2450
+ unitId?: string | undefined;
2451
+ languageTag?: string | undefined;
2452
+ }): Promise<{
2453
+ data: {
2454
+ id: string;
2455
+ unitId: string;
2456
+ languageTag: string;
2457
+ name: string;
2458
+ shortDescription: string | null;
2459
+ description: string | null;
2460
+ createdAt: Date;
2461
+ updatedAt: Date;
2462
+ }[];
2463
+ total: number;
2464
+ limit: number;
2465
+ offset: number;
2466
+ }>;
2467
+ getUnitTranslationById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2468
+ id: string;
2469
+ unitId: string;
2470
+ languageTag: string;
2471
+ name: string;
2472
+ shortDescription: string | null;
2473
+ description: string | null;
2474
+ createdAt: Date;
2475
+ updatedAt: Date;
2476
+ } | null>;
2477
+ getUnitTranslationForProductMutation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2478
+ productId: string;
2479
+ id: string;
2480
+ unitId: string;
2481
+ languageTag: string;
2482
+ name: string;
2483
+ shortDescription: string | null;
2484
+ description: string | null;
2485
+ createdAt: Date;
2486
+ updatedAt: Date;
2487
+ } | null>;
2488
+ createUnitTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, unitId: string, data: {
2489
+ languageTag: string;
2490
+ name: string;
2491
+ shortDescription?: string | null | undefined;
2492
+ description?: string | null | undefined;
2493
+ }): Promise<{
2494
+ id: string;
2495
+ name: string;
2496
+ description: string | null;
2497
+ createdAt: Date;
2498
+ updatedAt: Date;
2499
+ languageTag: string;
2500
+ shortDescription: string | null;
2501
+ unitId: string;
2502
+ } | null>;
2503
+ updateUnitTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2504
+ languageTag?: string | undefined;
2505
+ name?: string | undefined;
2506
+ shortDescription?: string | null | undefined;
2507
+ description?: string | null | undefined;
2508
+ }): Promise<{
2509
+ id: string;
2510
+ unitId: string;
2511
+ languageTag: string;
2512
+ name: string;
2513
+ shortDescription: string | null;
2514
+ description: string | null;
2515
+ createdAt: Date;
2516
+ updatedAt: Date;
2517
+ } | null>;
2518
+ deleteUnitTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2519
+ id: string;
2520
+ } | null>;
2521
+ listOptions(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2522
+ limit: number;
2523
+ offset: number;
2524
+ productId?: string | undefined;
2525
+ status?: "draft" | "active" | "archived" | undefined;
2526
+ }): Promise<{
2527
+ data: {
2528
+ id: string;
2529
+ productId: string;
2530
+ name: string;
2531
+ code: string | null;
2532
+ description: string | null;
2533
+ status: "draft" | "active" | "archived";
2534
+ isDefault: boolean;
2535
+ sortOrder: number;
2536
+ availableFrom: string | null;
2537
+ availableTo: string | null;
2538
+ createdAt: Date;
2539
+ updatedAt: Date;
2540
+ }[];
2541
+ total: number;
2542
+ limit: number;
2543
+ offset: number;
2544
+ }>;
2545
+ getOptionById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2546
+ id: string;
2547
+ productId: string;
2548
+ name: string;
2549
+ code: string | null;
2550
+ description: string | null;
2551
+ status: "draft" | "active" | "archived";
2552
+ isDefault: boolean;
2553
+ sortOrder: number;
2554
+ availableFrom: string | null;
2555
+ availableTo: string | null;
2556
+ createdAt: Date;
2557
+ updatedAt: Date;
2558
+ } | null>;
2559
+ createOption(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
2560
+ name: string;
2561
+ status: "draft" | "active" | "archived";
2562
+ isDefault: boolean;
2563
+ sortOrder: number;
2564
+ code?: string | null | undefined;
2565
+ description?: string | null | undefined;
2566
+ availableFrom?: string | null | undefined;
2567
+ availableTo?: string | null | undefined;
2568
+ }): Promise<{
2569
+ id: string;
2570
+ name: string;
2571
+ status: "draft" | "active" | "archived";
2572
+ description: string | null;
2573
+ createdAt: Date;
2574
+ updatedAt: Date;
2575
+ code: string | null;
2576
+ productId: string;
2577
+ isDefault: boolean;
2578
+ sortOrder: number;
2579
+ availableFrom: string | null;
2580
+ availableTo: string | null;
2581
+ } | null | undefined>;
2582
+ updateOption(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2583
+ name?: string | undefined;
2584
+ code?: string | null | undefined;
2585
+ description?: string | null | undefined;
2586
+ status?: "draft" | "active" | "archived" | undefined;
2587
+ isDefault?: boolean | undefined;
2588
+ sortOrder?: number | undefined;
2589
+ availableFrom?: string | null | undefined;
2590
+ availableTo?: string | null | undefined;
2591
+ }): Promise<{
2592
+ id: string;
2593
+ productId: string;
2594
+ name: string;
2595
+ code: string | null;
2596
+ description: string | null;
2597
+ status: "draft" | "active" | "archived";
2598
+ isDefault: boolean;
2599
+ sortOrder: number;
2600
+ availableFrom: string | null;
2601
+ availableTo: string | null;
2602
+ createdAt: Date;
2603
+ updatedAt: Date;
2604
+ } | null>;
2605
+ deleteOption(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2606
+ id: string;
2607
+ } | null>;
2608
+ listUnits(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2609
+ limit: number;
2610
+ offset: number;
2611
+ optionId?: string | undefined;
2612
+ unitType?: "other" | "person" | "group" | "room" | "vehicle" | "service" | undefined;
2613
+ }): Promise<{
2614
+ data: {
2615
+ id: string;
2616
+ optionId: string;
2617
+ name: string;
2618
+ code: string | null;
2619
+ description: string | null;
2620
+ unitType: "other" | "person" | "group" | "room" | "vehicle" | "service";
2621
+ minQuantity: number | null;
2622
+ maxQuantity: number | null;
2623
+ minAge: number | null;
2624
+ maxAge: number | null;
2625
+ occupancyMin: number | null;
2626
+ occupancyMax: number | null;
2627
+ isRequired: boolean;
2628
+ isHidden: boolean;
2629
+ sortOrder: number;
2630
+ createdAt: Date;
2631
+ updatedAt: Date;
2632
+ }[];
2633
+ total: number;
2634
+ limit: number;
2635
+ offset: number;
2636
+ }>;
2637
+ getUnitById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2638
+ id: string;
2639
+ optionId: string;
2640
+ name: string;
2641
+ code: string | null;
2642
+ description: string | null;
2643
+ unitType: "other" | "person" | "group" | "room" | "vehicle" | "service";
2644
+ minQuantity: number | null;
2645
+ maxQuantity: number | null;
2646
+ minAge: number | null;
2647
+ maxAge: number | null;
2648
+ occupancyMin: number | null;
2649
+ occupancyMax: number | null;
2650
+ isRequired: boolean;
2651
+ isHidden: boolean;
2652
+ sortOrder: number;
2653
+ createdAt: Date;
2654
+ updatedAt: Date;
2655
+ } | null>;
2656
+ getUnitForProductMutation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2657
+ productId: string;
2658
+ id: string;
2659
+ optionId: string;
2660
+ name: string;
2661
+ code: string | null;
2662
+ description: string | null;
2663
+ unitType: "other" | "person" | "group" | "room" | "vehicle" | "service";
2664
+ minQuantity: number | null;
2665
+ maxQuantity: number | null;
2666
+ minAge: number | null;
2667
+ maxAge: number | null;
2668
+ occupancyMin: number | null;
2669
+ occupancyMax: number | null;
2670
+ isRequired: boolean;
2671
+ isHidden: boolean;
2672
+ sortOrder: number;
2673
+ createdAt: Date;
2674
+ updatedAt: Date;
2675
+ } | null>;
2676
+ createUnit(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, optionId: string, data: {
2677
+ name: string;
2678
+ unitType: "other" | "person" | "group" | "room" | "vehicle" | "service";
2679
+ isRequired: boolean;
2680
+ isHidden: boolean;
2681
+ sortOrder: number;
2682
+ code?: string | null | undefined;
2683
+ description?: string | null | undefined;
2684
+ minQuantity?: number | null | undefined;
2685
+ maxQuantity?: number | null | undefined;
2686
+ minAge?: number | null | undefined;
2687
+ maxAge?: number | null | undefined;
2688
+ occupancyMin?: number | null | undefined;
2689
+ occupancyMax?: number | null | undefined;
2690
+ }): Promise<{
2691
+ id: string;
2692
+ name: string;
2693
+ description: string | null;
2694
+ createdAt: Date;
2695
+ updatedAt: Date;
2696
+ code: string | null;
2697
+ sortOrder: number;
2698
+ optionId: string;
2699
+ unitType: "other" | "person" | "group" | "room" | "vehicle" | "service";
2700
+ minQuantity: number | null;
2701
+ maxQuantity: number | null;
2702
+ minAge: number | null;
2703
+ maxAge: number | null;
2704
+ occupancyMin: number | null;
2705
+ occupancyMax: number | null;
2706
+ isRequired: boolean;
2707
+ isHidden: boolean;
2708
+ } | null | undefined>;
2709
+ updateUnit(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2710
+ name?: string | undefined;
2711
+ code?: string | null | undefined;
2712
+ description?: string | null | undefined;
2713
+ unitType?: "other" | "person" | "group" | "room" | "vehicle" | "service" | undefined;
2714
+ minQuantity?: number | null | undefined;
2715
+ maxQuantity?: number | null | undefined;
2716
+ minAge?: number | null | undefined;
2717
+ maxAge?: number | null | undefined;
2718
+ occupancyMin?: number | null | undefined;
2719
+ occupancyMax?: number | null | undefined;
2720
+ isRequired?: boolean | undefined;
2721
+ isHidden?: boolean | undefined;
2722
+ sortOrder?: number | undefined;
2723
+ }): Promise<{
2724
+ id: string;
2725
+ optionId: string;
2726
+ name: string;
2727
+ code: string | null;
2728
+ description: string | null;
2729
+ unitType: "other" | "person" | "group" | "room" | "vehicle" | "service";
2730
+ minQuantity: number | null;
2731
+ maxQuantity: number | null;
2732
+ minAge: number | null;
2733
+ maxAge: number | null;
2734
+ occupancyMin: number | null;
2735
+ occupancyMax: number | null;
2736
+ isRequired: boolean;
2737
+ isHidden: boolean;
2738
+ sortOrder: number;
2739
+ createdAt: Date;
2740
+ updatedAt: Date;
2741
+ } | null>;
2742
+ deleteUnit(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2743
+ id: string;
2744
+ } | null>;
2745
+ listProductDestinations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2746
+ limit: number;
2747
+ offset: number;
2748
+ productId?: string | undefined;
2749
+ destinationId?: string | undefined;
2750
+ }): Promise<{
2751
+ data: {
2752
+ productId: string;
2753
+ destinationId: string;
2754
+ sortOrder: number;
2755
+ createdAt: Date;
2756
+ updatedAt: Date;
2757
+ destinationSlug: string;
2758
+ destinationType: string;
2759
+ destinationActive: boolean;
2760
+ }[];
2761
+ total: number;
2762
+ limit: number;
2763
+ offset: number;
2764
+ }>;
2765
+ assignProductDestination(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, input: {
2766
+ destinationId: string;
2767
+ sortOrder?: number;
2768
+ }): Promise<{
2769
+ createdAt: Date;
2770
+ updatedAt: Date;
2771
+ productId: string;
2772
+ sortOrder: number;
2773
+ destinationId: string;
2774
+ } | null>;
2775
+ removeProductDestination(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, destinationId: string): Promise<{
2776
+ productId: string;
2777
+ destinationId: string;
2778
+ } | null>;
2779
+ listDestinations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2780
+ limit: number;
2781
+ offset: number;
2782
+ parentId?: string | undefined;
2783
+ active?: boolean | undefined;
2784
+ search?: string | undefined;
2785
+ languageTag?: string | undefined;
2786
+ destinationType?: "port" | "city" | "destination" | "region" | "country" | "river" | "sea" | "ocean" | "canal" | "lake" | undefined;
2787
+ canonicalPlaceId?: string | undefined;
2788
+ }): Promise<{
2789
+ data: {
2790
+ translation: {
2791
+ id: string;
2792
+ destinationId: string;
2793
+ languageTag: string;
2794
+ name: string;
2795
+ description: string | null;
2796
+ seoTitle: string | null;
2797
+ seoDescription: string | null;
2798
+ createdAt: Date;
2799
+ updatedAt: Date;
2800
+ } | null;
2801
+ id: string;
2802
+ parentId: string | null;
2803
+ slug: string;
2804
+ code: string | null;
2805
+ canonicalPlaceId: string | null;
2806
+ destinationType: string;
2807
+ latitude: number | null;
2808
+ longitude: number | null;
2809
+ sortOrder: number;
2810
+ active: boolean;
2811
+ metadata: Record<string, unknown> | null;
2812
+ createdAt: Date;
2813
+ updatedAt: Date;
2814
+ }[];
2815
+ total: number;
2816
+ limit: number;
2817
+ offset: number;
2818
+ }>;
2819
+ getDestinationById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2820
+ translations: {
2821
+ id: string;
2822
+ destinationId: string;
2823
+ languageTag: string;
2824
+ name: string;
2825
+ description: string | null;
2826
+ seoTitle: string | null;
2827
+ seoDescription: string | null;
2828
+ createdAt: Date;
2829
+ updatedAt: Date;
2830
+ }[];
2831
+ id: string;
2832
+ parentId: string | null;
2833
+ slug: string;
2834
+ code: string | null;
2835
+ canonicalPlaceId: string | null;
2836
+ destinationType: string;
2837
+ latitude: number | null;
2838
+ longitude: number | null;
2839
+ sortOrder: number;
2840
+ active: boolean;
2841
+ metadata: Record<string, unknown> | null;
2842
+ createdAt: Date;
2843
+ updatedAt: Date;
2844
+ } | null>;
2845
+ createDestination(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: {
2846
+ slug: string;
2847
+ destinationType: "port" | "city" | "destination" | "region" | "country" | "river" | "sea" | "ocean" | "canal" | "lake";
2848
+ sortOrder: number;
2849
+ active: boolean;
2850
+ parentId?: string | null | undefined;
2851
+ code?: string | null | undefined;
2852
+ canonicalPlaceId?: string | null | undefined;
2853
+ latitude?: number | null | undefined;
2854
+ longitude?: number | null | undefined;
2855
+ metadata?: Record<string, unknown> | null | undefined;
2856
+ }): Promise<{
2857
+ id: string;
2858
+ active: boolean;
2859
+ createdAt: Date;
2860
+ updatedAt: Date;
2861
+ metadata: Record<string, unknown> | null;
2862
+ code: string | null;
2863
+ sortOrder: number;
2864
+ latitude: number | null;
2865
+ longitude: number | null;
2866
+ parentId: string | null;
2867
+ destinationType: string;
2868
+ canonicalPlaceId: string | null;
2869
+ slug: string;
2870
+ } | null>;
2871
+ updateDestination(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2872
+ parentId?: string | null | undefined;
2873
+ slug?: string | undefined;
2874
+ code?: string | null | undefined;
2875
+ canonicalPlaceId?: string | null | undefined;
2876
+ destinationType?: "port" | "city" | "destination" | "region" | "country" | "river" | "sea" | "ocean" | "canal" | "lake" | undefined;
2877
+ latitude?: number | null | undefined;
2878
+ longitude?: number | null | undefined;
2879
+ sortOrder?: number | undefined;
2880
+ active?: boolean | undefined;
2881
+ metadata?: Record<string, unknown> | null | undefined;
2882
+ }): Promise<{
2883
+ id: string;
2884
+ parentId: string | null;
2885
+ slug: string;
2886
+ code: string | null;
2887
+ canonicalPlaceId: string | null;
2888
+ destinationType: string;
2889
+ latitude: number | null;
2890
+ longitude: number | null;
2891
+ sortOrder: number;
2892
+ active: boolean;
2893
+ metadata: Record<string, unknown> | null;
2894
+ createdAt: Date;
2895
+ updatedAt: Date;
2896
+ } | null>;
2897
+ deleteDestination(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2898
+ id: string;
2899
+ } | null>;
2900
+ listDestinationTranslations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2901
+ limit: number;
2902
+ offset: number;
2903
+ destinationId?: string | undefined;
2904
+ languageTag?: string | undefined;
2905
+ }): Promise<{
2906
+ data: {
2907
+ id: string;
2908
+ destinationId: string;
2909
+ languageTag: string;
2910
+ name: string;
2911
+ description: string | null;
2912
+ seoTitle: string | null;
2913
+ seoDescription: string | null;
2914
+ createdAt: Date;
2915
+ updatedAt: Date;
2916
+ }[];
2917
+ total: number;
2918
+ limit: number;
2919
+ offset: number;
2920
+ }>;
2921
+ upsertDestinationTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, destinationId: string, data: {
2922
+ languageTag: string;
2923
+ name: string;
2924
+ description?: string | null | undefined;
2925
+ seoTitle?: string | null | undefined;
2926
+ seoDescription?: string | null | undefined;
2927
+ }): Promise<{
2928
+ id: string;
2929
+ name: string;
2930
+ description: string | null;
2931
+ createdAt: Date;
2932
+ updatedAt: Date;
2933
+ languageTag: string;
2934
+ destinationId: string;
2935
+ seoTitle: string | null;
2936
+ seoDescription: string | null;
2937
+ } | null>;
2938
+ updateDestinationTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2939
+ languageTag?: string | undefined;
2940
+ name?: string | undefined;
2941
+ description?: string | null | undefined;
2942
+ seoTitle?: string | null | undefined;
2943
+ seoDescription?: string | null | undefined;
2944
+ }): Promise<{
2945
+ id: string;
2946
+ destinationId: string;
2947
+ languageTag: string;
2948
+ name: string;
2949
+ description: string | null;
2950
+ seoTitle: string | null;
2951
+ seoDescription: string | null;
2952
+ createdAt: Date;
2953
+ updatedAt: Date;
2954
+ } | null>;
2955
+ deleteDestinationTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
2956
+ id: string;
2957
+ } | null>;
2958
+ listProductCategoryTranslations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
2959
+ limit: number;
2960
+ offset: number;
2961
+ categoryId?: string | undefined;
2962
+ languageTag?: string | undefined;
2963
+ }): Promise<{
2964
+ data: {
2965
+ id: string;
2966
+ categoryId: string;
2967
+ languageTag: string;
2968
+ name: string;
2969
+ description: string | null;
2970
+ seoTitle: string | null;
2971
+ seoDescription: string | null;
2972
+ createdAt: Date;
2973
+ updatedAt: Date;
2974
+ }[];
2975
+ total: number;
2976
+ limit: number;
2977
+ offset: number;
2978
+ }>;
2979
+ upsertProductCategoryTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, categoryId: string, data: {
2980
+ languageTag: string;
2981
+ name: string;
2982
+ description?: string | null | undefined;
2983
+ seoTitle?: string | null | undefined;
2984
+ seoDescription?: string | null | undefined;
2985
+ }): Promise<{
2986
+ id: string;
2987
+ name: string;
2988
+ description: string | null;
2989
+ createdAt: Date;
2990
+ updatedAt: Date;
2991
+ categoryId: string;
2992
+ languageTag: string;
2993
+ seoTitle: string | null;
2994
+ seoDescription: string | null;
2995
+ } | null>;
2996
+ updateProductCategoryTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
2997
+ languageTag?: string | undefined;
2998
+ name?: string | undefined;
2999
+ description?: string | null | undefined;
3000
+ seoTitle?: string | null | undefined;
3001
+ seoDescription?: string | null | undefined;
3002
+ }): Promise<{
3003
+ id: string;
3004
+ categoryId: string;
3005
+ languageTag: string;
3006
+ name: string;
3007
+ description: string | null;
3008
+ seoTitle: string | null;
3009
+ seoDescription: string | null;
3010
+ createdAt: Date;
3011
+ updatedAt: Date;
3012
+ } | null>;
3013
+ deleteProductCategoryTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3014
+ id: string;
3015
+ } | null>;
3016
+ listProductTagTranslations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3017
+ limit: number;
3018
+ offset: number;
3019
+ tagId?: string | undefined;
3020
+ languageTag?: string | undefined;
3021
+ }): Promise<{
3022
+ data: {
3023
+ id: string;
3024
+ tagId: string;
3025
+ languageTag: string;
3026
+ name: string;
3027
+ createdAt: Date;
3028
+ updatedAt: Date;
3029
+ }[];
3030
+ total: number;
3031
+ limit: number;
3032
+ offset: number;
3033
+ }>;
3034
+ upsertProductTagTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, tagId: string, data: {
3035
+ languageTag: string;
3036
+ name: string;
3037
+ }): Promise<{
3038
+ id: string;
3039
+ name: string;
3040
+ createdAt: Date;
3041
+ updatedAt: Date;
3042
+ languageTag: string;
3043
+ tagId: string;
3044
+ } | null>;
3045
+ updateProductTagTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3046
+ languageTag?: string | undefined;
3047
+ name?: string | undefined;
3048
+ }): Promise<{
3049
+ id: string;
3050
+ tagId: string;
3051
+ languageTag: string;
3052
+ name: string;
3053
+ createdAt: Date;
3054
+ updatedAt: Date;
3055
+ } | null>;
3056
+ deleteProductTagTranslation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3057
+ id: string;
3058
+ } | null>;
3059
+ listFeatures(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3060
+ limit: number;
3061
+ offset: number;
3062
+ productId?: string | undefined;
3063
+ featureType?: "other" | "inclusion" | "exclusion" | "highlight" | "important_information" | undefined;
3064
+ }): Promise<{
3065
+ data: {
3066
+ id: string;
3067
+ productId: string;
3068
+ featureType: "other" | "inclusion" | "exclusion" | "highlight" | "important_information";
3069
+ title: string;
3070
+ description: string | null;
3071
+ sortOrder: number;
3072
+ createdAt: Date;
3073
+ updatedAt: Date;
3074
+ }[];
3075
+ total: number;
3076
+ limit: number;
3077
+ offset: number;
3078
+ }>;
3079
+ getFeatureById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3080
+ id: string;
3081
+ productId: string;
3082
+ featureType: "other" | "inclusion" | "exclusion" | "highlight" | "important_information";
3083
+ title: string;
3084
+ description: string | null;
3085
+ sortOrder: number;
3086
+ createdAt: Date;
3087
+ updatedAt: Date;
3088
+ } | null>;
3089
+ createFeature(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3090
+ featureType: "other" | "inclusion" | "exclusion" | "highlight" | "important_information";
3091
+ title: string;
3092
+ sortOrder: number;
3093
+ description?: string | null | undefined;
3094
+ }): Promise<{
3095
+ id: string;
3096
+ description: string | null;
3097
+ createdAt: Date;
3098
+ updatedAt: Date;
3099
+ title: string;
3100
+ productId: string;
3101
+ featureType: "other" | "inclusion" | "exclusion" | "highlight" | "important_information";
3102
+ sortOrder: number;
3103
+ } | null>;
3104
+ updateFeature(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3105
+ featureType?: "other" | "inclusion" | "exclusion" | "highlight" | "important_information" | undefined;
3106
+ title?: string | undefined;
3107
+ description?: string | null | undefined;
3108
+ sortOrder?: number | undefined;
3109
+ }): Promise<{
3110
+ id: string;
3111
+ productId: string;
3112
+ featureType: "other" | "inclusion" | "exclusion" | "highlight" | "important_information";
3113
+ title: string;
3114
+ description: string | null;
3115
+ sortOrder: number;
3116
+ createdAt: Date;
3117
+ updatedAt: Date;
3118
+ } | null>;
3119
+ deleteFeature(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3120
+ id: string;
3121
+ } | null>;
3122
+ listFaqs(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3123
+ limit: number;
3124
+ offset: number;
3125
+ productId?: string | undefined;
3126
+ }): Promise<{
3127
+ data: {
3128
+ id: string;
3129
+ productId: string;
3130
+ question: string;
3131
+ answer: string;
3132
+ sortOrder: number;
3133
+ createdAt: Date;
3134
+ updatedAt: Date;
3135
+ }[];
3136
+ total: number;
3137
+ limit: number;
3138
+ offset: number;
3139
+ }>;
3140
+ getFaqById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3141
+ id: string;
3142
+ productId: string;
3143
+ question: string;
3144
+ answer: string;
3145
+ sortOrder: number;
3146
+ createdAt: Date;
3147
+ updatedAt: Date;
3148
+ } | null>;
3149
+ createFaq(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3150
+ question: string;
3151
+ answer: string;
3152
+ sortOrder: number;
3153
+ }): Promise<{
3154
+ id: string;
3155
+ createdAt: Date;
3156
+ updatedAt: Date;
3157
+ productId: string;
3158
+ sortOrder: number;
3159
+ question: string;
3160
+ answer: string;
3161
+ } | null>;
3162
+ updateFaq(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3163
+ question?: string | undefined;
3164
+ answer?: string | undefined;
3165
+ sortOrder?: number | undefined;
3166
+ }): Promise<{
3167
+ id: string;
3168
+ productId: string;
3169
+ question: string;
3170
+ answer: string;
3171
+ sortOrder: number;
3172
+ createdAt: Date;
3173
+ updatedAt: Date;
3174
+ } | null>;
3175
+ deleteFaq(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3176
+ id: string;
3177
+ } | null>;
3178
+ listLocations(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3179
+ limit: number;
3180
+ offset: number;
3181
+ productId?: string | undefined;
3182
+ locationType?: "other" | "start" | "end" | "meeting_point" | "pickup" | "dropoff" | "point_of_interest" | undefined;
3183
+ }): Promise<{
3184
+ data: {
3185
+ id: string;
3186
+ productId: string;
3187
+ locationType: "other" | "start" | "end" | "meeting_point" | "pickup" | "dropoff" | "point_of_interest";
3188
+ title: string;
3189
+ address: string | null;
3190
+ city: string | null;
3191
+ countryCode: string | null;
3192
+ latitude: number | null;
3193
+ longitude: number | null;
3194
+ googlePlaceId: string | null;
3195
+ applePlaceId: string | null;
3196
+ tripadvisorLocationId: string | null;
3197
+ sortOrder: number;
3198
+ createdAt: Date;
3199
+ updatedAt: Date;
3200
+ }[];
3201
+ total: number;
3202
+ limit: number;
3203
+ offset: number;
3204
+ }>;
3205
+ getLocationById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3206
+ id: string;
3207
+ productId: string;
3208
+ locationType: "other" | "start" | "end" | "meeting_point" | "pickup" | "dropoff" | "point_of_interest";
3209
+ title: string;
3210
+ address: string | null;
3211
+ city: string | null;
3212
+ countryCode: string | null;
3213
+ latitude: number | null;
3214
+ longitude: number | null;
3215
+ googlePlaceId: string | null;
3216
+ applePlaceId: string | null;
3217
+ tripadvisorLocationId: string | null;
3218
+ sortOrder: number;
3219
+ createdAt: Date;
3220
+ updatedAt: Date;
3221
+ } | null>;
3222
+ createLocation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3223
+ locationType: "other" | "start" | "end" | "meeting_point" | "pickup" | "dropoff" | "point_of_interest";
3224
+ title: string;
3225
+ sortOrder: number;
3226
+ address?: string | null | undefined;
3227
+ city?: string | null | undefined;
3228
+ countryCode?: string | null | undefined;
3229
+ latitude?: number | null | undefined;
3230
+ longitude?: number | null | undefined;
3231
+ googlePlaceId?: string | null | undefined;
3232
+ applePlaceId?: string | null | undefined;
3233
+ tripadvisorLocationId?: string | null | undefined;
3234
+ }): Promise<{
3235
+ id: string;
3236
+ createdAt: Date;
3237
+ updatedAt: Date;
3238
+ title: string;
3239
+ productId: string;
3240
+ sortOrder: number;
3241
+ locationType: "other" | "start" | "end" | "meeting_point" | "pickup" | "dropoff" | "point_of_interest";
3242
+ address: string | null;
3243
+ city: string | null;
3244
+ countryCode: string | null;
3245
+ latitude: number | null;
3246
+ longitude: number | null;
3247
+ googlePlaceId: string | null;
3248
+ applePlaceId: string | null;
3249
+ tripadvisorLocationId: string | null;
3250
+ } | null>;
3251
+ updateLocation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3252
+ locationType?: "other" | "start" | "end" | "meeting_point" | "pickup" | "dropoff" | "point_of_interest" | undefined;
3253
+ title?: string | undefined;
3254
+ address?: string | null | undefined;
3255
+ city?: string | null | undefined;
3256
+ countryCode?: string | null | undefined;
3257
+ latitude?: number | null | undefined;
3258
+ longitude?: number | null | undefined;
3259
+ googlePlaceId?: string | null | undefined;
3260
+ applePlaceId?: string | null | undefined;
3261
+ tripadvisorLocationId?: string | null | undefined;
3262
+ sortOrder?: number | undefined;
3263
+ }): Promise<{
3264
+ id: string;
3265
+ productId: string;
3266
+ locationType: "other" | "start" | "end" | "meeting_point" | "pickup" | "dropoff" | "point_of_interest";
3267
+ title: string;
3268
+ address: string | null;
3269
+ city: string | null;
3270
+ countryCode: string | null;
3271
+ latitude: number | null;
3272
+ longitude: number | null;
3273
+ googlePlaceId: string | null;
3274
+ applePlaceId: string | null;
3275
+ tripadvisorLocationId: string | null;
3276
+ sortOrder: number;
3277
+ createdAt: Date;
3278
+ updatedAt: Date;
3279
+ } | null>;
3280
+ deleteLocation(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3281
+ id: string;
3282
+ } | null>;
3283
+ listDeliveryFormats(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3284
+ limit: number;
3285
+ offset: number;
3286
+ productId?: string | undefined;
3287
+ format?: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile" | undefined;
3288
+ }): Promise<{
3289
+ data: {
3290
+ id: string;
3291
+ productId: string;
3292
+ format: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3293
+ isDefault: boolean;
3294
+ createdAt: Date;
3295
+ updatedAt: Date;
3296
+ }[];
3297
+ total: number;
3298
+ limit: number;
3299
+ offset: number;
3300
+ }>;
3301
+ getDeliveryFormatById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3302
+ id: string;
3303
+ productId: string;
3304
+ format: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3305
+ isDefault: boolean;
3306
+ createdAt: Date;
3307
+ updatedAt: Date;
3308
+ } | null>;
3309
+ getDeliveryFormatByProductAndFormat(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, format: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile"): Promise<{
3310
+ id: string;
3311
+ productId: string;
3312
+ format: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3313
+ isDefault: boolean;
3314
+ createdAt: Date;
3315
+ updatedAt: Date;
3316
+ } | null>;
3317
+ createDeliveryFormat(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3318
+ format: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3319
+ isDefault: boolean;
3320
+ }): Promise<{
3321
+ format: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3322
+ id: string;
3323
+ createdAt: Date;
3324
+ updatedAt: Date;
3325
+ productId: string;
3326
+ isDefault: boolean;
3327
+ } | null>;
3328
+ updateDeliveryFormat(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3329
+ format?: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile" | undefined;
3330
+ isDefault?: boolean | undefined;
3331
+ }): Promise<{
3332
+ id: string;
3333
+ productId: string;
3334
+ format: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3335
+ isDefault: boolean;
3336
+ createdAt: Date;
3337
+ updatedAt: Date;
3338
+ } | null>;
3339
+ deleteDeliveryFormat(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3340
+ id: string;
3341
+ } | null>;
3342
+ listActivationSettings(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3343
+ limit: number;
3344
+ offset: number;
3345
+ productId?: string | undefined;
3346
+ activationMode?: "manual" | "scheduled" | "channel_controlled" | undefined;
3347
+ }): Promise<{
3348
+ data: {
3349
+ id: string;
3350
+ productId: string;
3351
+ activationMode: "manual" | "scheduled" | "channel_controlled";
3352
+ activateAt: Date | null;
3353
+ deactivateAt: Date | null;
3354
+ sellAt: Date | null;
3355
+ stopSellAt: Date | null;
3356
+ createdAt: Date;
3357
+ updatedAt: Date;
3358
+ }[];
3359
+ total: number;
3360
+ limit: number;
3361
+ offset: number;
3362
+ }>;
3363
+ getActivationSettingById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3364
+ id: string;
3365
+ productId: string;
3366
+ activationMode: "manual" | "scheduled" | "channel_controlled";
3367
+ activateAt: Date | null;
3368
+ deactivateAt: Date | null;
3369
+ sellAt: Date | null;
3370
+ stopSellAt: Date | null;
3371
+ createdAt: Date;
3372
+ updatedAt: Date;
3373
+ } | null>;
3374
+ getActivationSettingByProductId(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
3375
+ id: string;
3376
+ productId: string;
3377
+ activationMode: "manual" | "scheduled" | "channel_controlled";
3378
+ activateAt: Date | null;
3379
+ deactivateAt: Date | null;
3380
+ sellAt: Date | null;
3381
+ stopSellAt: Date | null;
3382
+ createdAt: Date;
3383
+ updatedAt: Date;
3384
+ } | null>;
3385
+ upsertActivationSetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3386
+ activationMode: "manual" | "scheduled" | "channel_controlled";
3387
+ activateAt?: string | null | undefined;
3388
+ deactivateAt?: string | null | undefined;
3389
+ sellAt?: string | null | undefined;
3390
+ stopSellAt?: string | null | undefined;
3391
+ }): Promise<{
3392
+ id: string;
3393
+ createdAt: Date;
3394
+ updatedAt: Date;
3395
+ productId: string;
3396
+ activationMode: "manual" | "scheduled" | "channel_controlled";
3397
+ activateAt: Date | null;
3398
+ deactivateAt: Date | null;
3399
+ sellAt: Date | null;
3400
+ stopSellAt: Date | null;
3401
+ } | null>;
3402
+ updateActivationSetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3403
+ activationMode?: "manual" | "scheduled" | "channel_controlled" | undefined;
3404
+ activateAt?: string | null | undefined;
3405
+ deactivateAt?: string | null | undefined;
3406
+ sellAt?: string | null | undefined;
3407
+ stopSellAt?: string | null | undefined;
3408
+ }): Promise<{
3409
+ id: string;
3410
+ productId: string;
3411
+ activationMode: "manual" | "scheduled" | "channel_controlled";
3412
+ activateAt: Date | null;
3413
+ deactivateAt: Date | null;
3414
+ sellAt: Date | null;
3415
+ stopSellAt: Date | null;
3416
+ createdAt: Date;
3417
+ updatedAt: Date;
3418
+ } | null>;
3419
+ deleteActivationSetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3420
+ id: string;
3421
+ } | null>;
3422
+ listTicketSettings(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3423
+ limit: number;
3424
+ offset: number;
3425
+ productId?: string | undefined;
3426
+ fulfillmentMode?: "none" | "per_booking" | "per_participant" | "per_item" | undefined;
3427
+ }): Promise<{
3428
+ data: {
3429
+ id: string;
3430
+ productId: string;
3431
+ fulfillmentMode: "none" | "per_booking" | "per_participant" | "per_item";
3432
+ defaultDeliveryFormat: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3433
+ ticketPerUnit: boolean;
3434
+ barcodeFormat: string | null;
3435
+ voucherMessage: string | null;
3436
+ ticketMessage: string | null;
3437
+ createdAt: Date;
3438
+ updatedAt: Date;
3439
+ }[];
3440
+ total: number;
3441
+ limit: number;
3442
+ offset: number;
3443
+ }>;
3444
+ getTicketSettingById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3445
+ id: string;
3446
+ productId: string;
3447
+ fulfillmentMode: "none" | "per_booking" | "per_participant" | "per_item";
3448
+ defaultDeliveryFormat: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3449
+ ticketPerUnit: boolean;
3450
+ barcodeFormat: string | null;
3451
+ voucherMessage: string | null;
3452
+ ticketMessage: string | null;
3453
+ createdAt: Date;
3454
+ updatedAt: Date;
3455
+ } | null>;
3456
+ getTicketSettingByProductId(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
3457
+ id: string;
3458
+ productId: string;
3459
+ fulfillmentMode: "none" | "per_booking" | "per_participant" | "per_item";
3460
+ defaultDeliveryFormat: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3461
+ ticketPerUnit: boolean;
3462
+ barcodeFormat: string | null;
3463
+ voucherMessage: string | null;
3464
+ ticketMessage: string | null;
3465
+ createdAt: Date;
3466
+ updatedAt: Date;
3467
+ } | null>;
3468
+ upsertTicketSetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3469
+ fulfillmentMode: "none" | "per_booking" | "per_participant" | "per_item";
3470
+ defaultDeliveryFormat: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3471
+ ticketPerUnit: boolean;
3472
+ barcodeFormat?: string | null | undefined;
3473
+ voucherMessage?: string | null | undefined;
3474
+ ticketMessage?: string | null | undefined;
3475
+ }): Promise<{
3476
+ id: string;
3477
+ createdAt: Date;
3478
+ updatedAt: Date;
3479
+ productId: string;
3480
+ fulfillmentMode: "none" | "per_booking" | "per_participant" | "per_item";
3481
+ defaultDeliveryFormat: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3482
+ ticketPerUnit: boolean;
3483
+ barcodeFormat: string | null;
3484
+ voucherMessage: string | null;
3485
+ ticketMessage: string | null;
3486
+ } | null>;
3487
+ updateTicketSetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3488
+ fulfillmentMode?: "none" | "per_booking" | "per_participant" | "per_item" | undefined;
3489
+ defaultDeliveryFormat?: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile" | undefined;
3490
+ ticketPerUnit?: boolean | undefined;
3491
+ barcodeFormat?: string | null | undefined;
3492
+ voucherMessage?: string | null | undefined;
3493
+ ticketMessage?: string | null | undefined;
3494
+ }): Promise<{
3495
+ id: string;
3496
+ productId: string;
3497
+ fulfillmentMode: "none" | "per_booking" | "per_participant" | "per_item";
3498
+ defaultDeliveryFormat: "none" | "voucher" | "ticket" | "pdf" | "qr_code" | "barcode" | "email" | "mobile";
3499
+ ticketPerUnit: boolean;
3500
+ barcodeFormat: string | null;
3501
+ voucherMessage: string | null;
3502
+ ticketMessage: string | null;
3503
+ createdAt: Date;
3504
+ updatedAt: Date;
3505
+ } | null>;
3506
+ deleteTicketSetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3507
+ id: string;
3508
+ } | null>;
3509
+ listVisibilitySettings(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3510
+ limit: number;
3511
+ offset: number;
3512
+ productId?: string | undefined;
3513
+ isSearchable?: boolean | undefined;
3514
+ isBookable?: boolean | undefined;
3515
+ }): Promise<{
3516
+ data: {
3517
+ id: string;
3518
+ productId: string;
3519
+ isSearchable: boolean;
3520
+ isBookable: boolean;
3521
+ isFeatured: boolean;
3522
+ requiresAuthentication: boolean;
3523
+ createdAt: Date;
3524
+ updatedAt: Date;
3525
+ }[];
3526
+ total: number;
3527
+ limit: number;
3528
+ offset: number;
3529
+ }>;
3530
+ getVisibilitySettingById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3531
+ id: string;
3532
+ productId: string;
3533
+ isSearchable: boolean;
3534
+ isBookable: boolean;
3535
+ isFeatured: boolean;
3536
+ requiresAuthentication: boolean;
3537
+ createdAt: Date;
3538
+ updatedAt: Date;
3539
+ } | null>;
3540
+ getVisibilitySettingByProductId(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string): Promise<{
3541
+ id: string;
3542
+ productId: string;
3543
+ isSearchable: boolean;
3544
+ isBookable: boolean;
3545
+ isFeatured: boolean;
3546
+ requiresAuthentication: boolean;
3547
+ createdAt: Date;
3548
+ updatedAt: Date;
3549
+ } | null>;
3550
+ upsertVisibilitySetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3551
+ isSearchable: boolean;
3552
+ isBookable: boolean;
3553
+ isFeatured: boolean;
3554
+ requiresAuthentication: boolean;
3555
+ }): Promise<{
3556
+ id: string;
3557
+ createdAt: Date;
3558
+ updatedAt: Date;
3559
+ productId: string;
3560
+ isSearchable: boolean;
3561
+ isBookable: boolean;
3562
+ isFeatured: boolean;
3563
+ requiresAuthentication: boolean;
3564
+ } | null>;
3565
+ updateVisibilitySetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3566
+ isSearchable?: boolean | undefined;
3567
+ isBookable?: boolean | undefined;
3568
+ isFeatured?: boolean | undefined;
3569
+ requiresAuthentication?: boolean | undefined;
3570
+ }): Promise<{
3571
+ id: string;
3572
+ productId: string;
3573
+ isSearchable: boolean;
3574
+ isBookable: boolean;
3575
+ isFeatured: boolean;
3576
+ requiresAuthentication: boolean;
3577
+ createdAt: Date;
3578
+ updatedAt: Date;
3579
+ } | null>;
3580
+ deleteVisibilitySetting(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3581
+ id: string;
3582
+ } | null>;
3583
+ listCapabilities(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3584
+ limit: number;
3585
+ offset: number;
3586
+ productId?: string | undefined;
3587
+ capability?: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport" | undefined;
3588
+ enabled?: boolean | undefined;
3589
+ }): Promise<{
3590
+ data: {
3591
+ id: string;
3592
+ productId: string;
3593
+ capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
3594
+ enabled: boolean;
3595
+ notes: string | null;
3596
+ createdAt: Date;
3597
+ updatedAt: Date;
3598
+ }[];
3599
+ total: number;
3600
+ limit: number;
3601
+ offset: number;
3602
+ }>;
3603
+ getCapabilityById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3604
+ id: string;
3605
+ productId: string;
3606
+ capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
3607
+ enabled: boolean;
3608
+ notes: string | null;
3609
+ createdAt: Date;
3610
+ updatedAt: Date;
3611
+ } | null>;
3612
+ getCapabilityByProductAndName(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport"): Promise<{
3613
+ id: string;
3614
+ productId: string;
3615
+ capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
3616
+ enabled: boolean;
3617
+ notes: string | null;
3618
+ createdAt: Date;
3619
+ updatedAt: Date;
3620
+ } | null>;
3621
+ createCapability(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, productId: string, data: {
3622
+ capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
3623
+ enabled: boolean;
3624
+ notes?: string | null | undefined;
3625
+ }): Promise<{
3626
+ id: string;
3627
+ createdAt: Date;
3628
+ updatedAt: Date;
3629
+ productId: string;
3630
+ capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
3631
+ enabled: boolean;
3632
+ notes: string | null;
3633
+ } | null>;
3634
+ updateCapability(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3635
+ capability?: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport" | undefined;
3636
+ enabled?: boolean | undefined;
3637
+ notes?: string | null | undefined;
3638
+ }): Promise<{
3639
+ id: string;
3640
+ productId: string;
3641
+ capability: "on_request" | "private" | "instant_confirmation" | "pickup_available" | "dropoff_available" | "guided" | "shared" | "digital_ticket" | "voucher_required" | "external_inventory" | "multi_day" | "accommodation" | "transport";
3642
+ enabled: boolean;
3643
+ notes: string | null;
3644
+ createdAt: Date;
3645
+ updatedAt: Date;
3646
+ } | null>;
3647
+ deleteCapability(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3648
+ id: string;
3649
+ } | null>;
3650
+ listProducts(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: {
3651
+ sortBy: "name" | "status" | "startDate" | "endDate" | "pax" | "createdAt" | "sellAmount";
3652
+ sortDir: "asc" | "desc";
3653
+ limit: number;
3654
+ offset: number;
3655
+ status?: "draft" | "active" | "archived" | undefined;
3656
+ bookingMode?: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other" | undefined;
3657
+ visibility?: "public" | "private" | "hidden" | undefined;
3658
+ activated?: boolean | undefined;
3659
+ facilityId?: string | undefined;
3660
+ supplierId?: string | undefined;
3661
+ productTypeId?: string | undefined;
3662
+ contractTemplateId?: string | undefined;
3663
+ taxClassId?: string | undefined;
3664
+ categoryId?: string | undefined;
3665
+ tag?: string | undefined;
3666
+ search?: string | undefined;
3667
+ dateFrom?: string | undefined;
3668
+ dateTo?: string | undefined;
3669
+ paxMin?: number | undefined;
3670
+ paxMax?: number | undefined;
3671
+ sellAmountMin?: number | undefined;
3672
+ sellAmountMax?: number | undefined;
3673
+ }): Promise<{
3674
+ data: {
3675
+ id: string;
3676
+ name: string;
3677
+ status: "draft" | "active" | "archived";
3678
+ description: string | null;
3679
+ inclusionsHtml: string | null;
3680
+ exclusionsHtml: string | null;
3681
+ termsHtml: string | null;
3682
+ termsShowOnContract: boolean;
3683
+ bookingMode: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other";
3684
+ capacityMode: "free_sale" | "limited" | "on_request";
3685
+ timezone: string | null;
3686
+ defaultLanguageTag: string | null;
3687
+ visibility: "public" | "private" | "hidden";
3688
+ activated: boolean;
3689
+ reservationTimeoutMinutes: number | null;
3690
+ sellCurrency: string;
3691
+ sellAmountCents: number | null;
3692
+ costAmountCents: number | null;
3693
+ marginPercent: number | null;
3694
+ facilityId: string | null;
3695
+ supplierId: string | null;
3696
+ startDate: string | null;
3697
+ endDate: string | null;
3698
+ pax: number | null;
3699
+ productTypeId: string | null;
3700
+ contractTemplateId: string | null;
3701
+ taxClassId: string | null;
3702
+ customerPaymentPolicy: unknown;
3703
+ tags: string[] | null;
3704
+ createdAt: Date;
3705
+ updatedAt: Date;
3706
+ }[];
3707
+ total: number;
3708
+ limit: number;
3709
+ offset: number;
3710
+ }>;
3711
+ getProductById(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3712
+ id: string;
3713
+ name: string;
3714
+ status: "draft" | "active" | "archived";
3715
+ description: string | null;
3716
+ inclusionsHtml: string | null;
3717
+ exclusionsHtml: string | null;
3718
+ termsHtml: string | null;
3719
+ termsShowOnContract: boolean;
3720
+ bookingMode: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other";
3721
+ capacityMode: "free_sale" | "limited" | "on_request";
3722
+ timezone: string | null;
3723
+ defaultLanguageTag: string | null;
3724
+ visibility: "public" | "private" | "hidden";
3725
+ activated: boolean;
3726
+ reservationTimeoutMinutes: number | null;
3727
+ sellCurrency: string;
3728
+ sellAmountCents: number | null;
3729
+ costAmountCents: number | null;
3730
+ marginPercent: number | null;
3731
+ facilityId: string | null;
3732
+ supplierId: string | null;
3733
+ startDate: string | null;
3734
+ endDate: string | null;
3735
+ pax: number | null;
3736
+ productTypeId: string | null;
3737
+ contractTemplateId: string | null;
3738
+ taxClassId: string | null;
3739
+ customerPaymentPolicy: unknown;
3740
+ tags: string[] | null;
3741
+ createdAt: Date;
3742
+ updatedAt: Date;
3743
+ } | null>;
3744
+ getProductByIdWithType(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3745
+ productType: {
3746
+ id: string;
3747
+ name: string;
3748
+ code: string;
3749
+ } | null;
3750
+ id: string;
3751
+ name: string;
3752
+ status: "draft" | "active" | "archived";
3753
+ description: string | null;
3754
+ inclusionsHtml: string | null;
3755
+ exclusionsHtml: string | null;
3756
+ termsHtml: string | null;
3757
+ termsShowOnContract: boolean;
3758
+ bookingMode: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other";
3759
+ capacityMode: "free_sale" | "limited" | "on_request";
3760
+ timezone: string | null;
3761
+ defaultLanguageTag: string | null;
3762
+ visibility: "public" | "private" | "hidden";
3763
+ activated: boolean;
3764
+ reservationTimeoutMinutes: number | null;
3765
+ sellCurrency: string;
3766
+ sellAmountCents: number | null;
3767
+ costAmountCents: number | null;
3768
+ marginPercent: number | null;
3769
+ facilityId: string | null;
3770
+ supplierId: string | null;
3771
+ startDate: string | null;
3772
+ endDate: string | null;
3773
+ pax: number | null;
3774
+ productTypeId: string | null;
3775
+ contractTemplateId: string | null;
3776
+ taxClassId: string | null;
3777
+ customerPaymentPolicy: unknown;
3778
+ tags: string[] | null;
3779
+ createdAt: Date;
3780
+ updatedAt: Date;
3781
+ } | null>;
3782
+ createProduct(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: {
3783
+ name: string;
3784
+ status: "draft" | "active" | "archived";
3785
+ termsShowOnContract: boolean;
3786
+ bookingMode: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other";
3787
+ capacityMode: "free_sale" | "limited" | "on_request";
3788
+ visibility: "public" | "private" | "hidden";
3789
+ activated: boolean;
3790
+ sellCurrency: string;
3791
+ tags: string[];
3792
+ description?: string | null | undefined;
3793
+ inclusionsHtml?: string | null | undefined;
3794
+ exclusionsHtml?: string | null | undefined;
3795
+ termsHtml?: string | null | undefined;
3796
+ timezone?: string | null | undefined;
3797
+ defaultLanguageTag?: string | null | undefined;
3798
+ reservationTimeoutMinutes?: number | null | undefined;
3799
+ facilityId?: string | null | undefined;
3800
+ supplierId?: string | null | undefined;
3801
+ productTypeId?: string | null | undefined;
3802
+ contractTemplateId?: string | null | undefined;
3803
+ taxClassId?: string | null | undefined;
3804
+ startDate?: string | null | undefined;
3805
+ endDate?: string | null | undefined;
3806
+ pax?: number | null | undefined;
3807
+ customerPaymentPolicy?: {
3808
+ deposit: {
3809
+ kind: "none" | "percent" | "fixed_cents";
3810
+ percent?: number | undefined;
3811
+ amountCents?: number | undefined;
3812
+ };
3813
+ minDaysBeforeDepartureForDeposit: number;
3814
+ balanceDueDaysBeforeDeparture: number;
3815
+ balanceDueMinDaysFromNow: number;
3816
+ } | null | undefined;
3817
+ sellAmountCents?: number | null | undefined;
3818
+ costAmountCents?: number | null | undefined;
3819
+ marginPercent?: number | null | undefined;
3820
+ }): Promise<{
3821
+ id: string;
3822
+ name: string;
3823
+ status: "draft" | "active" | "archived";
3824
+ description: string | null;
3825
+ inclusionsHtml: string | null;
3826
+ exclusionsHtml: string | null;
3827
+ termsHtml: string | null;
3828
+ termsShowOnContract: boolean;
3829
+ bookingMode: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other";
3830
+ capacityMode: "free_sale" | "limited" | "on_request";
3831
+ timezone: string | null;
3832
+ defaultLanguageTag: string | null;
3833
+ visibility: "public" | "private" | "hidden";
3834
+ activated: boolean;
3835
+ reservationTimeoutMinutes: number | null;
3836
+ sellCurrency: string;
3837
+ sellAmountCents: number | null;
3838
+ costAmountCents: number | null;
3839
+ marginPercent: number | null;
3840
+ facilityId: string | null;
3841
+ supplierId: string | null;
3842
+ startDate: string | null;
3843
+ endDate: string | null;
3844
+ pax: number | null;
3845
+ productTypeId: string | null;
3846
+ contractTemplateId: string | null;
3847
+ taxClassId: string | null;
3848
+ customerPaymentPolicy: unknown;
3849
+ tags: string[] | null;
3850
+ createdAt: Date;
3851
+ updatedAt: Date;
3852
+ }>;
3853
+ updateProduct(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: {
3854
+ name?: string | undefined;
3855
+ description?: string | null | undefined;
3856
+ inclusionsHtml?: string | null | undefined;
3857
+ exclusionsHtml?: string | null | undefined;
3858
+ termsHtml?: string | null | undefined;
3859
+ timezone?: string | null | undefined;
3860
+ defaultLanguageTag?: string | null | undefined;
3861
+ reservationTimeoutMinutes?: number | null | undefined;
3862
+ sellCurrency?: string | undefined;
3863
+ facilityId?: string | null | undefined;
3864
+ supplierId?: string | null | undefined;
3865
+ productTypeId?: string | null | undefined;
3866
+ contractTemplateId?: string | null | undefined;
3867
+ taxClassId?: string | null | undefined;
3868
+ startDate?: string | null | undefined;
3869
+ endDate?: string | null | undefined;
3870
+ pax?: number | null | undefined;
3871
+ customerPaymentPolicy?: {
3872
+ deposit: {
3873
+ kind: "none" | "percent" | "fixed_cents";
3874
+ percent?: number | undefined;
3875
+ amountCents?: number | undefined;
3876
+ };
3877
+ minDaysBeforeDepartureForDeposit: number;
3878
+ balanceDueDaysBeforeDeparture: number;
3879
+ balanceDueMinDaysFromNow: number;
3880
+ } | null | undefined;
3881
+ status?: "draft" | "active" | "archived" | undefined;
3882
+ bookingMode?: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other" | undefined;
3883
+ capacityMode?: "free_sale" | "limited" | "on_request" | undefined;
3884
+ visibility?: "public" | "private" | "hidden" | undefined;
3885
+ activated?: boolean | undefined;
3886
+ termsShowOnContract?: boolean | undefined;
3887
+ tags?: string[] | undefined;
3888
+ sellAmountCents?: number | null | undefined;
3889
+ costAmountCents?: number | null | undefined;
3890
+ marginPercent?: number | null | undefined;
3891
+ }): Promise<{
3892
+ id: string;
3893
+ name: string;
3894
+ status: "draft" | "active" | "archived";
3895
+ description: string | null;
3896
+ inclusionsHtml: string | null;
3897
+ exclusionsHtml: string | null;
3898
+ termsHtml: string | null;
3899
+ termsShowOnContract: boolean;
3900
+ bookingMode: "date" | "date_time" | "open" | "stay" | "transfer" | "itinerary" | "other";
3901
+ capacityMode: "free_sale" | "limited" | "on_request";
3902
+ timezone: string | null;
3903
+ defaultLanguageTag: string | null;
3904
+ visibility: "public" | "private" | "hidden";
3905
+ activated: boolean;
3906
+ reservationTimeoutMinutes: number | null;
3907
+ sellCurrency: string;
3908
+ sellAmountCents: number | null;
3909
+ costAmountCents: number | null;
3910
+ marginPercent: number | null;
3911
+ facilityId: string | null;
3912
+ supplierId: string | null;
3913
+ startDate: string | null;
3914
+ endDate: string | null;
3915
+ pax: number | null;
3916
+ productTypeId: string | null;
3917
+ contractTemplateId: string | null;
3918
+ taxClassId: string | null;
3919
+ customerPaymentPolicy: unknown;
3920
+ tags: string[] | null;
3921
+ createdAt: Date;
3922
+ updatedAt: Date;
3923
+ } | null>;
3924
+ deleteProduct(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
3925
+ id: string;
3926
+ } | null>;
3927
+ getProductAggregates: typeof getProductAggregates;
3928
+ };
3929
+ //# sourceMappingURL=service.d.ts.map