@flowselections/floriday-klanten-module 1.0.16 → 1.0.18

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 (48) hide show
  1. package/dist-lib/components/klanten/FloridayDeeplinkButton.d.ts.map +1 -1
  2. package/dist-lib/components/klanten/FloridayDeeplinkButton.js +2 -2
  3. package/dist-lib/components/klanten/KlantenOverzicht.js +3 -3
  4. package/dist-lib/components/klanten/pricegroups/PriceGroupEditRoute.d.ts +2 -0
  5. package/dist-lib/components/klanten/pricegroups/PriceGroupEditRoute.d.ts.map +1 -0
  6. package/dist-lib/components/klanten/pricegroups/PriceGroupEditRoute.js +8 -0
  7. package/dist-lib/index.d.ts +2 -0
  8. package/dist-lib/index.d.ts.map +1 -1
  9. package/dist-lib/index.js +2 -0
  10. package/dist-lib/integrations/supabase/auth-middleware.d.ts +905 -27
  11. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  12. package/dist-lib/integrations/supabase/client.d.ts +905 -27
  13. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  14. package/dist-lib/integrations/supabase/client.server.d.ts +905 -27
  15. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  16. package/dist-lib/integrations/supabase/types.d.ts +930 -22
  17. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  18. package/dist-lib/integrations/supabase/types.js +4 -9
  19. package/dist-lib/lib/accounting/twinfield/mapping.d.ts.map +1 -1
  20. package/dist-lib/lib/accounting/twinfield/mapping.js +14 -2
  21. package/dist-lib/lib/accounting/twinfield/worker.functions.d.ts +2676 -42
  22. package/dist-lib/lib/accounting/twinfield/worker.functions.d.ts.map +1 -1
  23. package/dist-lib/lib/accounting.functions.d.ts +2676 -42
  24. package/dist-lib/lib/accounting.functions.d.ts.map +1 -1
  25. package/dist-lib/lib/customer-analytics.functions.d.ts +905 -27
  26. package/dist-lib/lib/customer-analytics.functions.d.ts.map +1 -1
  27. package/dist-lib/lib/customers.functions.d.ts +8028 -126
  28. package/dist-lib/lib/customers.functions.d.ts.map +1 -1
  29. package/dist-lib/lib/delivery-locations.functions.d.ts +3568 -56
  30. package/dist-lib/lib/delivery-locations.functions.d.ts.map +1 -1
  31. package/dist-lib/lib/external-customers.functions.d.ts +3568 -56
  32. package/dist-lib/lib/external-customers.functions.d.ts.map +1 -1
  33. package/dist-lib/lib/floriday-assortment.functions.d.ts +905 -27
  34. package/dist-lib/lib/floriday-assortment.functions.d.ts.map +1 -1
  35. package/dist-lib/lib/floriday-discounts.functions.d.ts +1888 -132
  36. package/dist-lib/lib/floriday-discounts.functions.d.ts.map +1 -1
  37. package/dist-lib/lib/floriday-trade-items.functions.d.ts +905 -27
  38. package/dist-lib/lib/floriday-trade-items.functions.d.ts.map +1 -1
  39. package/dist-lib/lib/local-discounts.functions.d.ts +6244 -98
  40. package/dist-lib/lib/local-discounts.functions.d.ts.map +1 -1
  41. package/dist-lib/lib/overdue-invoices.functions.d.ts +905 -27
  42. package/dist-lib/lib/overdue-invoices.functions.d.ts.map +1 -1
  43. package/dist-lib/lib/price-groups-local.functions.d.ts +6244 -98
  44. package/dist-lib/lib/price-groups-local.functions.d.ts.map +1 -1
  45. package/dist-lib/lib/price-groups.functions.d.ts +905 -27
  46. package/dist-lib/lib/price-groups.functions.d.ts.map +1 -1
  47. package/package.json +8 -2
  48. package/public/flowselections-assets/Klanten/floriday-logo.png +0 -0
@@ -316,6 +316,57 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
316
316
  referencedColumns: ["id"];
317
317
  }];
318
318
  };
319
+ ai_call_log: {
320
+ Row: {
321
+ consumer_module_id: string;
322
+ cost_usd: number | null;
323
+ created_at: string;
324
+ created_by: string | null;
325
+ duration_ms: number | null;
326
+ error_code: string | null;
327
+ error_message: string | null;
328
+ id: string;
329
+ input_tokens: number;
330
+ model_slug: string | null;
331
+ output_tokens: number;
332
+ provider_slug: string | null;
333
+ status: string;
334
+ total_tokens: number;
335
+ };
336
+ Insert: {
337
+ consumer_module_id: string;
338
+ cost_usd?: number | null;
339
+ created_at?: string;
340
+ created_by?: string | null;
341
+ duration_ms?: number | null;
342
+ error_code?: string | null;
343
+ error_message?: string | null;
344
+ id?: string;
345
+ input_tokens?: number;
346
+ model_slug?: string | null;
347
+ output_tokens?: number;
348
+ provider_slug?: string | null;
349
+ status: string;
350
+ total_tokens?: number;
351
+ };
352
+ Update: {
353
+ consumer_module_id?: string;
354
+ cost_usd?: number | null;
355
+ created_at?: string;
356
+ created_by?: string | null;
357
+ duration_ms?: number | null;
358
+ error_code?: string | null;
359
+ error_message?: string | null;
360
+ id?: string;
361
+ input_tokens?: number;
362
+ model_slug?: string | null;
363
+ output_tokens?: number;
364
+ provider_slug?: string | null;
365
+ status?: string;
366
+ total_tokens?: number;
367
+ };
368
+ Relationships: [];
369
+ };
319
370
  ai_credentials: {
320
371
  Row: {
321
372
  active: boolean;
@@ -352,6 +403,36 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
352
403
  referencedColumns: ["id"];
353
404
  }];
354
405
  };
406
+ ai_goals: {
407
+ Row: {
408
+ active: boolean;
409
+ created_at: string;
410
+ description: string | null;
411
+ key: string;
412
+ label: string;
413
+ sort_order: number;
414
+ updated_at: string;
415
+ };
416
+ Insert: {
417
+ active?: boolean;
418
+ created_at?: string;
419
+ description?: string | null;
420
+ key: string;
421
+ label: string;
422
+ sort_order?: number;
423
+ updated_at?: string;
424
+ };
425
+ Update: {
426
+ active?: boolean;
427
+ created_at?: string;
428
+ description?: string | null;
429
+ key?: string;
430
+ label?: string;
431
+ sort_order?: number;
432
+ updated_at?: string;
433
+ };
434
+ Relationships: [];
435
+ };
355
436
  ai_model_pricing: {
356
437
  Row: {
357
438
  created_at: string;
@@ -1138,6 +1219,141 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
1138
1219
  };
1139
1220
  Relationships: [];
1140
1221
  };
1222
+ cart_planning_pick_times: {
1223
+ Row: {
1224
+ created_at: string;
1225
+ id: string;
1226
+ pot_size: string;
1227
+ seconds_per_cart: number;
1228
+ updated_at: string;
1229
+ };
1230
+ Insert: {
1231
+ created_at?: string;
1232
+ id?: string;
1233
+ pot_size: string;
1234
+ seconds_per_cart: number;
1235
+ updated_at?: string;
1236
+ };
1237
+ Update: {
1238
+ created_at?: string;
1239
+ id?: string;
1240
+ pot_size?: string;
1241
+ seconds_per_cart?: number;
1242
+ updated_at?: string;
1243
+ };
1244
+ Relationships: [];
1245
+ };
1246
+ cart_planning_product_overrides: {
1247
+ Row: {
1248
+ created_at: string;
1249
+ id: string;
1250
+ max_party_share_per_layer_pct_override: number | null;
1251
+ never_mix: boolean;
1252
+ notes: string | null;
1253
+ product_id: string;
1254
+ updated_at: string;
1255
+ };
1256
+ Insert: {
1257
+ created_at?: string;
1258
+ id?: string;
1259
+ max_party_share_per_layer_pct_override?: number | null;
1260
+ never_mix?: boolean;
1261
+ notes?: string | null;
1262
+ product_id: string;
1263
+ updated_at?: string;
1264
+ };
1265
+ Update: {
1266
+ created_at?: string;
1267
+ id?: string;
1268
+ max_party_share_per_layer_pct_override?: number | null;
1269
+ never_mix?: boolean;
1270
+ notes?: string | null;
1271
+ product_id?: string;
1272
+ updated_at?: string;
1273
+ };
1274
+ Relationships: [{
1275
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
1276
+ columns: ["product_id"];
1277
+ isOneToOne: true;
1278
+ referencedRelation: "products";
1279
+ referencedColumns: ["id"];
1280
+ }];
1281
+ };
1282
+ cart_planning_settings: {
1283
+ Row: {
1284
+ allow_editing_after_pickstation_send: boolean;
1285
+ buffer_grouping_mode: string;
1286
+ combine_floriday_orders: boolean;
1287
+ combine_floriday_orders_window: string;
1288
+ combine_orders_scope: string;
1289
+ default_workers: number;
1290
+ id: number;
1291
+ max_beladingen_per_layer: number;
1292
+ max_customers_per_cart: number;
1293
+ max_one_customer_per_layer: boolean;
1294
+ max_party_share_per_layer_pct: number;
1295
+ optimization_strategy: string;
1296
+ own_cart_from_layers: number;
1297
+ pick_time_mode: string;
1298
+ plants_per_day: number;
1299
+ plants_per_hour: number;
1300
+ require_same_carrier: boolean;
1301
+ require_same_crate_type: boolean;
1302
+ require_same_delivery_date: boolean;
1303
+ require_same_delivery_location: boolean;
1304
+ updated_at: string;
1305
+ updated_by: string | null;
1306
+ };
1307
+ Insert: {
1308
+ allow_editing_after_pickstation_send?: boolean;
1309
+ buffer_grouping_mode?: string;
1310
+ combine_floriday_orders?: boolean;
1311
+ combine_floriday_orders_window?: string;
1312
+ combine_orders_scope?: string;
1313
+ default_workers?: number;
1314
+ id?: number;
1315
+ max_beladingen_per_layer?: number;
1316
+ max_customers_per_cart?: number;
1317
+ max_one_customer_per_layer?: boolean;
1318
+ max_party_share_per_layer_pct?: number;
1319
+ optimization_strategy?: string;
1320
+ own_cart_from_layers?: number;
1321
+ pick_time_mode?: string;
1322
+ plants_per_day?: number;
1323
+ plants_per_hour?: number;
1324
+ require_same_carrier?: boolean;
1325
+ require_same_crate_type?: boolean;
1326
+ require_same_delivery_date?: boolean;
1327
+ require_same_delivery_location?: boolean;
1328
+ updated_at?: string;
1329
+ updated_by?: string | null;
1330
+ };
1331
+ Update: {
1332
+ allow_editing_after_pickstation_send?: boolean;
1333
+ buffer_grouping_mode?: string;
1334
+ combine_floriday_orders?: boolean;
1335
+ combine_floriday_orders_window?: string;
1336
+ combine_orders_scope?: string;
1337
+ default_workers?: number;
1338
+ id?: number;
1339
+ max_beladingen_per_layer?: number;
1340
+ max_customers_per_cart?: number;
1341
+ max_one_customer_per_layer?: boolean;
1342
+ max_party_share_per_layer_pct?: number;
1343
+ optimization_strategy?: string;
1344
+ own_cart_from_layers?: number;
1345
+ pick_time_mode?: string;
1346
+ plants_per_day?: number;
1347
+ plants_per_hour?: number;
1348
+ require_same_carrier?: boolean;
1349
+ require_same_crate_type?: boolean;
1350
+ require_same_delivery_date?: boolean;
1351
+ require_same_delivery_location?: boolean;
1352
+ updated_at?: string;
1353
+ updated_by?: string | null;
1354
+ };
1355
+ Relationships: [];
1356
+ };
1141
1357
  cart_replan_queue: {
1142
1358
  Row: {
1143
1359
  attempts: number;
@@ -1168,6 +1384,39 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
1168
1384
  referencedColumns: ["id"];
1169
1385
  }];
1170
1386
  };
1387
+ cart_types: {
1388
+ Row: {
1389
+ created_at: string;
1390
+ id: string;
1391
+ is_default: boolean;
1392
+ layer_length_cm: number;
1393
+ layer_width_cm: number;
1394
+ layers_per_cart: number;
1395
+ name: string;
1396
+ updated_at: string;
1397
+ };
1398
+ Insert: {
1399
+ created_at?: string;
1400
+ id?: string;
1401
+ is_default?: boolean;
1402
+ layer_length_cm: number;
1403
+ layer_width_cm: number;
1404
+ layers_per_cart?: number;
1405
+ name: string;
1406
+ updated_at?: string;
1407
+ };
1408
+ Update: {
1409
+ created_at?: string;
1410
+ id?: string;
1411
+ is_default?: boolean;
1412
+ layer_length_cm?: number;
1413
+ layer_width_cm?: number;
1414
+ layers_per_cart?: number;
1415
+ name?: string;
1416
+ updated_at?: string;
1417
+ };
1418
+ Relationships: [];
1419
+ };
1171
1420
  catalog_articles_cache: {
1172
1421
  Row: {
1173
1422
  created_at: string;
@@ -1255,6 +1504,36 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
1255
1504
  };
1256
1505
  Relationships: [];
1257
1506
  };
1507
+ crate_types: {
1508
+ Row: {
1509
+ created_at: string;
1510
+ id: string;
1511
+ length_cm: number;
1512
+ name: string;
1513
+ plants_per_crate: number;
1514
+ updated_at: string;
1515
+ width_cm: number;
1516
+ };
1517
+ Insert: {
1518
+ created_at?: string;
1519
+ id?: string;
1520
+ length_cm: number;
1521
+ name: string;
1522
+ plants_per_crate?: number;
1523
+ updated_at?: string;
1524
+ width_cm: number;
1525
+ };
1526
+ Update: {
1527
+ created_at?: string;
1528
+ id?: string;
1529
+ length_cm?: number;
1530
+ name?: string;
1531
+ plants_per_crate?: number;
1532
+ updated_at?: string;
1533
+ width_cm?: number;
1534
+ };
1535
+ Relationships: [];
1536
+ };
1258
1537
  customer_audit_log: {
1259
1538
  Row: {
1260
1539
  action: string;
@@ -5794,6 +6073,288 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
5794
6073
  };
5795
6074
  Relationships: [];
5796
6075
  };
6076
+ itk_contact_persons: {
6077
+ Row: {
6078
+ created_at: string;
6079
+ customer_id: string;
6080
+ email: string | null;
6081
+ id: string;
6082
+ name: string;
6083
+ phone: string | null;
6084
+ role: string | null;
6085
+ updated_at: string;
6086
+ };
6087
+ Insert: {
6088
+ created_at?: string;
6089
+ customer_id: string;
6090
+ email?: string | null;
6091
+ id?: string;
6092
+ name: string;
6093
+ phone?: string | null;
6094
+ role?: string | null;
6095
+ updated_at?: string;
6096
+ };
6097
+ Update: {
6098
+ created_at?: string;
6099
+ customer_id?: string;
6100
+ email?: string | null;
6101
+ id?: string;
6102
+ name?: string;
6103
+ phone?: string | null;
6104
+ role?: string | null;
6105
+ updated_at?: string;
6106
+ };
6107
+ Relationships: [{
6108
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
6109
+ columns: ["customer_id"];
6110
+ isOneToOne: false;
6111
+ referencedRelation: "itk_customers";
6112
+ referencedColumns: ["id"];
6113
+ }];
6114
+ };
6115
+ itk_customer_dynamic_values: {
6116
+ Row: {
6117
+ created_at: string;
6118
+ customer_id: string;
6119
+ field_id: string;
6120
+ id: string;
6121
+ updated_at: string;
6122
+ value: string | null;
6123
+ };
6124
+ Insert: {
6125
+ created_at?: string;
6126
+ customer_id: string;
6127
+ field_id: string;
6128
+ id?: string;
6129
+ updated_at?: string;
6130
+ value?: string | null;
6131
+ };
6132
+ Update: {
6133
+ created_at?: string;
6134
+ customer_id?: string;
6135
+ field_id?: string;
6136
+ id?: string;
6137
+ updated_at?: string;
6138
+ value?: string | null;
6139
+ };
6140
+ Relationships: [{
6141
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
6142
+ columns: ["customer_id"];
6143
+ isOneToOne: false;
6144
+ referencedRelation: "itk_customers";
6145
+ referencedColumns: ["id"];
6146
+ }, {
6147
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
6148
+ columns: ["field_id"];
6149
+ isOneToOne: false;
6150
+ referencedRelation: "itk_dynamic_fields";
6151
+ referencedColumns: ["id"];
6152
+ }];
6153
+ };
6154
+ itk_customer_notes: {
6155
+ Row: {
6156
+ body: string;
6157
+ created_at: string;
6158
+ created_by: string | null;
6159
+ customer_id: string;
6160
+ id: string;
6161
+ note_type: string;
6162
+ updated_at: string;
6163
+ };
6164
+ Insert: {
6165
+ body: string;
6166
+ created_at?: string;
6167
+ created_by?: string | null;
6168
+ customer_id: string;
6169
+ id?: string;
6170
+ note_type?: string;
6171
+ updated_at?: string;
6172
+ };
6173
+ Update: {
6174
+ body?: string;
6175
+ created_at?: string;
6176
+ created_by?: string | null;
6177
+ customer_id?: string;
6178
+ id?: string;
6179
+ note_type?: string;
6180
+ updated_at?: string;
6181
+ };
6182
+ Relationships: [{
6183
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
6184
+ columns: ["customer_id"];
6185
+ isOneToOne: false;
6186
+ referencedRelation: "itk_customers";
6187
+ referencedColumns: ["id"];
6188
+ }];
6189
+ };
6190
+ itk_customers: {
6191
+ Row: {
6192
+ billing_city: string | null;
6193
+ billing_postcode: string | null;
6194
+ billing_street: string | null;
6195
+ created_at: string;
6196
+ general_email: string | null;
6197
+ general_phone: string | null;
6198
+ id: string;
6199
+ legacy_customer_id: string | null;
6200
+ name: string;
6201
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6202
+ updated_at: string;
6203
+ };
6204
+ Insert: {
6205
+ billing_city?: string | null;
6206
+ billing_postcode?: string | null;
6207
+ billing_street?: string | null;
6208
+ created_at?: string;
6209
+ general_email?: string | null;
6210
+ general_phone?: string | null;
6211
+ id?: string;
6212
+ legacy_customer_id?: string | null;
6213
+ name: string;
6214
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6215
+ updated_at?: string;
6216
+ };
6217
+ Update: {
6218
+ billing_city?: string | null;
6219
+ billing_postcode?: string | null;
6220
+ billing_street?: string | null;
6221
+ created_at?: string;
6222
+ general_email?: string | null;
6223
+ general_phone?: string | null;
6224
+ id?: string;
6225
+ legacy_customer_id?: string | null;
6226
+ name?: string;
6227
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6228
+ updated_at?: string;
6229
+ };
6230
+ Relationships: [{
6231
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
6232
+ columns: ["legacy_customer_id"];
6233
+ isOneToOne: false;
6234
+ referencedRelation: "customers";
6235
+ referencedColumns: ["id"];
6236
+ }];
6237
+ };
6238
+ itk_dynamic_fields: {
6239
+ Row: {
6240
+ created_at: string;
6241
+ field_name: string;
6242
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6243
+ id: string;
6244
+ options: import("../integrations/supabase/types").Json;
6245
+ sort_order: number;
6246
+ updated_at: string;
6247
+ };
6248
+ Insert: {
6249
+ created_at?: string;
6250
+ field_name: string;
6251
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6252
+ id?: string;
6253
+ options?: import("../integrations/supabase/types").Json;
6254
+ sort_order?: number;
6255
+ updated_at?: string;
6256
+ };
6257
+ Update: {
6258
+ created_at?: string;
6259
+ field_name?: string;
6260
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6261
+ id?: string;
6262
+ options?: import("../integrations/supabase/types").Json;
6263
+ sort_order?: number;
6264
+ updated_at?: string;
6265
+ };
6266
+ Relationships: [];
6267
+ };
6268
+ itk_work_locations: {
6269
+ Row: {
6270
+ city: string | null;
6271
+ created_at: string;
6272
+ customer_id: string;
6273
+ id: string;
6274
+ instructions: string | null;
6275
+ label: string;
6276
+ latitude: number | null;
6277
+ longitude: number | null;
6278
+ postcode: string | null;
6279
+ street: string | null;
6280
+ updated_at: string;
6281
+ };
6282
+ Insert: {
6283
+ city?: string | null;
6284
+ created_at?: string;
6285
+ customer_id: string;
6286
+ id?: string;
6287
+ instructions?: string | null;
6288
+ label: string;
6289
+ latitude?: number | null;
6290
+ longitude?: number | null;
6291
+ postcode?: string | null;
6292
+ street?: string | null;
6293
+ updated_at?: string;
6294
+ };
6295
+ Update: {
6296
+ city?: string | null;
6297
+ created_at?: string;
6298
+ customer_id?: string;
6299
+ id?: string;
6300
+ instructions?: string | null;
6301
+ label?: string;
6302
+ latitude?: number | null;
6303
+ longitude?: number | null;
6304
+ postcode?: string | null;
6305
+ street?: string | null;
6306
+ updated_at?: string;
6307
+ };
6308
+ Relationships: [{
6309
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
6310
+ columns: ["customer_id"];
6311
+ isOneToOne: false;
6312
+ referencedRelation: "itk_customers";
6313
+ referencedColumns: ["id"];
6314
+ }];
6315
+ };
6316
+ leave_requests: {
6317
+ Row: {
6318
+ created_at: string;
6319
+ end_date: string;
6320
+ id: string;
6321
+ reason: string | null;
6322
+ start_date: string;
6323
+ status: string;
6324
+ tenant_id: string;
6325
+ updated_at: string;
6326
+ user_id: string;
6327
+ };
6328
+ Insert: {
6329
+ created_at?: string;
6330
+ end_date: string;
6331
+ id?: string;
6332
+ reason?: string | null;
6333
+ start_date: string;
6334
+ status?: string;
6335
+ tenant_id?: string;
6336
+ updated_at?: string;
6337
+ user_id: string;
6338
+ };
6339
+ Update: {
6340
+ created_at?: string;
6341
+ end_date?: string;
6342
+ id?: string;
6343
+ reason?: string | null;
6344
+ start_date?: string;
6345
+ status?: string;
6346
+ tenant_id?: string;
6347
+ updated_at?: string;
6348
+ user_id?: string;
6349
+ };
6350
+ Relationships: [{
6351
+ foreignKeyName: "leave_requests_user_id_fkey";
6352
+ columns: ["user_id"];
6353
+ isOneToOne: false;
6354
+ referencedRelation: "monteurs";
6355
+ referencedColumns: ["id"];
6356
+ }];
6357
+ };
5797
6358
  local_customer_agreements: {
5798
6359
  Row: {
5799
6360
  base_price: number | null;
@@ -6445,6 +7006,33 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
6445
7006
  };
6446
7007
  Relationships: [];
6447
7008
  };
7009
+ module_permissions: {
7010
+ Row: {
7011
+ created_at: string;
7012
+ id: string;
7013
+ module_id: string;
7014
+ permission: string;
7015
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7016
+ updated_at: string;
7017
+ };
7018
+ Insert: {
7019
+ created_at?: string;
7020
+ id?: string;
7021
+ module_id: string;
7022
+ permission: string;
7023
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7024
+ updated_at?: string;
7025
+ };
7026
+ Update: {
7027
+ created_at?: string;
7028
+ id?: string;
7029
+ module_id?: string;
7030
+ permission?: string;
7031
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7032
+ updated_at?: string;
7033
+ };
7034
+ Relationships: [];
7035
+ };
6448
7036
  monteurs: {
6449
7037
  Row: {
6450
7038
  avatar_url: string | null;
@@ -7174,6 +7762,42 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7174
7762
  };
7175
7763
  Relationships: [];
7176
7764
  };
7765
+ order_buffers: {
7766
+ Row: {
7767
+ buffer_key: string;
7768
+ created_at: string;
7769
+ customer_id: string | null;
7770
+ grouping_mode: string;
7771
+ id: string;
7772
+ pickup_date: string | null;
7773
+ pickup_location: string | null;
7774
+ plan_locked_at: string | null;
7775
+ updated_at: string;
7776
+ };
7777
+ Insert: {
7778
+ buffer_key: string;
7779
+ created_at?: string;
7780
+ customer_id?: string | null;
7781
+ grouping_mode: string;
7782
+ id?: string;
7783
+ pickup_date?: string | null;
7784
+ pickup_location?: string | null;
7785
+ plan_locked_at?: string | null;
7786
+ updated_at?: string;
7787
+ };
7788
+ Update: {
7789
+ buffer_key?: string;
7790
+ created_at?: string;
7791
+ customer_id?: string | null;
7792
+ grouping_mode?: string;
7793
+ id?: string;
7794
+ pickup_date?: string | null;
7795
+ pickup_location?: string | null;
7796
+ plan_locked_at?: string | null;
7797
+ updated_at?: string;
7798
+ };
7799
+ Relationships: [];
7800
+ };
7177
7801
  order_cart_items: {
7178
7802
  Row: {
7179
7803
  cart_id: string;
@@ -7240,6 +7864,7 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7240
7864
  order_carts: {
7241
7865
  Row: {
7242
7866
  algorithm_version: number;
7867
+ buffer_id: string | null;
7243
7868
  cart_number: number;
7244
7869
  created_at: string;
7245
7870
  id: string;
@@ -7247,13 +7872,14 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7247
7872
  is_complete: boolean;
7248
7873
  notes: string | null;
7249
7874
  occupancy_pct: number;
7250
- order_id: string;
7875
+ order_id: string | null;
7251
7876
  source: string;
7252
7877
  total_layers_used: number;
7253
7878
  updated_at: string;
7254
7879
  };
7255
7880
  Insert: {
7256
7881
  algorithm_version?: number;
7882
+ buffer_id?: string | null;
7257
7883
  cart_number: number;
7258
7884
  created_at?: string;
7259
7885
  id?: string;
@@ -7261,13 +7887,14 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7261
7887
  is_complete?: boolean;
7262
7888
  notes?: string | null;
7263
7889
  occupancy_pct?: number;
7264
- order_id: string;
7890
+ order_id?: string | null;
7265
7891
  source?: string;
7266
7892
  total_layers_used?: number;
7267
7893
  updated_at?: string;
7268
7894
  };
7269
7895
  Update: {
7270
7896
  algorithm_version?: number;
7897
+ buffer_id?: string | null;
7271
7898
  cart_number?: number;
7272
7899
  created_at?: string;
7273
7900
  id?: string;
@@ -7275,12 +7902,18 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7275
7902
  is_complete?: boolean;
7276
7903
  notes?: string | null;
7277
7904
  occupancy_pct?: number;
7278
- order_id?: string;
7905
+ order_id?: string | null;
7279
7906
  source?: string;
7280
7907
  total_layers_used?: number;
7281
7908
  updated_at?: string;
7282
7909
  };
7283
7910
  Relationships: [{
7911
+ foreignKeyName: "order_carts_buffer_id_fkey";
7912
+ columns: ["buffer_id"];
7913
+ isOneToOne: false;
7914
+ referencedRelation: "order_buffers";
7915
+ referencedColumns: ["id"];
7916
+ }, {
7284
7917
  foreignKeyName: "order_carts_order_id_fkey";
7285
7918
  columns: ["order_id"];
7286
7919
  isOneToOne: false;
@@ -7417,15 +8050,117 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7417
8050
  };
7418
8051
  Relationships: [];
7419
8052
  };
8053
+ order_shipment_items: {
8054
+ Row: {
8055
+ created_at: string;
8056
+ id: string;
8057
+ order_item_id: string;
8058
+ product_id: string | null;
8059
+ product_name: string;
8060
+ quantity: number;
8061
+ shipment_id: string;
8062
+ updated_at: string;
8063
+ };
8064
+ Insert: {
8065
+ created_at?: string;
8066
+ id?: string;
8067
+ order_item_id: string;
8068
+ product_id?: string | null;
8069
+ product_name: string;
8070
+ quantity: number;
8071
+ shipment_id: string;
8072
+ updated_at?: string;
8073
+ };
8074
+ Update: {
8075
+ created_at?: string;
8076
+ id?: string;
8077
+ order_item_id?: string;
8078
+ product_id?: string | null;
8079
+ product_name?: string;
8080
+ quantity?: number;
8081
+ shipment_id?: string;
8082
+ updated_at?: string;
8083
+ };
8084
+ Relationships: [{
8085
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
8086
+ columns: ["order_item_id"];
8087
+ isOneToOne: false;
8088
+ referencedRelation: "order_items";
8089
+ referencedColumns: ["id"];
8090
+ }, {
8091
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
8092
+ columns: ["shipment_id"];
8093
+ isOneToOne: false;
8094
+ referencedRelation: "order_shipments";
8095
+ referencedColumns: ["id"];
8096
+ }];
8097
+ };
8098
+ order_shipments: {
8099
+ Row: {
8100
+ carrier_id: string | null;
8101
+ created_at: string;
8102
+ delivery_date: string | null;
8103
+ delivery_location_id: string | null;
8104
+ id: string;
8105
+ notes: string | null;
8106
+ order_id: string;
8107
+ shipment_number: number;
8108
+ shipped_at: string | null;
8109
+ status: string;
8110
+ updated_at: string;
8111
+ };
8112
+ Insert: {
8113
+ carrier_id?: string | null;
8114
+ created_at?: string;
8115
+ delivery_date?: string | null;
8116
+ delivery_location_id?: string | null;
8117
+ id?: string;
8118
+ notes?: string | null;
8119
+ order_id: string;
8120
+ shipment_number: number;
8121
+ shipped_at?: string | null;
8122
+ status?: string;
8123
+ updated_at?: string;
8124
+ };
8125
+ Update: {
8126
+ carrier_id?: string | null;
8127
+ created_at?: string;
8128
+ delivery_date?: string | null;
8129
+ delivery_location_id?: string | null;
8130
+ id?: string;
8131
+ notes?: string | null;
8132
+ order_id?: string;
8133
+ shipment_number?: number;
8134
+ shipped_at?: string | null;
8135
+ status?: string;
8136
+ updated_at?: string;
8137
+ };
8138
+ Relationships: [{
8139
+ foreignKeyName: "order_shipments_carrier_id_fkey";
8140
+ columns: ["carrier_id"];
8141
+ isOneToOne: false;
8142
+ referencedRelation: "carriers";
8143
+ referencedColumns: ["id"];
8144
+ }, {
8145
+ foreignKeyName: "order_shipments_order_id_fkey";
8146
+ columns: ["order_id"];
8147
+ isOneToOne: false;
8148
+ referencedRelation: "orders";
8149
+ referencedColumns: ["id"];
8150
+ }];
8151
+ };
7420
8152
  orders: {
7421
8153
  Row: {
8154
+ buffer_id: string | null;
7422
8155
  created_at: string;
7423
8156
  custom_fields: import("../integrations/supabase/types").Json;
7424
8157
  customer_id: string | null;
7425
8158
  customer_name: string;
7426
8159
  deleted_at: string | null;
7427
- delivery_date: string;
8160
+ delivery_date: string | null;
8161
+ floriday_sales_order_id: string | null;
7428
8162
  id: string;
8163
+ is_reservation: boolean;
7429
8164
  notes: string | null;
7430
8165
  order_date: string;
7431
8166
  order_number: string;
@@ -7437,13 +8172,16 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7437
8172
  updated_at: string;
7438
8173
  };
7439
8174
  Insert: {
8175
+ buffer_id?: string | null;
7440
8176
  created_at?: string;
7441
8177
  custom_fields?: import("../integrations/supabase/types").Json;
7442
8178
  customer_id?: string | null;
7443
8179
  customer_name?: string;
7444
8180
  deleted_at?: string | null;
7445
- delivery_date: string;
8181
+ delivery_date?: string | null;
8182
+ floriday_sales_order_id?: string | null;
7446
8183
  id?: string;
8184
+ is_reservation?: boolean;
7447
8185
  notes?: string | null;
7448
8186
  order_date?: string;
7449
8187
  order_number: string;
@@ -7455,13 +8193,16 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7455
8193
  updated_at?: string;
7456
8194
  };
7457
8195
  Update: {
8196
+ buffer_id?: string | null;
7458
8197
  created_at?: string;
7459
8198
  custom_fields?: import("../integrations/supabase/types").Json;
7460
8199
  customer_id?: string | null;
7461
8200
  customer_name?: string;
7462
8201
  deleted_at?: string | null;
7463
- delivery_date?: string;
8202
+ delivery_date?: string | null;
8203
+ floriday_sales_order_id?: string | null;
7464
8204
  id?: string;
8205
+ is_reservation?: boolean;
7465
8206
  notes?: string | null;
7466
8207
  order_date?: string;
7467
8208
  order_number?: string;
@@ -7473,6 +8214,12 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7473
8214
  updated_at?: string;
7474
8215
  };
7475
8216
  Relationships: [{
8217
+ foreignKeyName: "orders_buffer_id_fkey";
8218
+ columns: ["buffer_id"];
8219
+ isOneToOne: false;
8220
+ referencedRelation: "order_buffers";
8221
+ referencedColumns: ["id"];
8222
+ }, {
7476
8223
  foreignKeyName: "orders_customer_id_fkey";
7477
8224
  columns: ["customer_id"];
7478
8225
  isOneToOne: false;
@@ -7603,6 +8350,51 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7603
8350
  };
7604
8351
  Relationships: [];
7605
8352
  };
8353
+ planning_items: {
8354
+ Row: {
8355
+ assigned_monteur_id: string;
8356
+ created_at: string;
8357
+ created_by: string | null;
8358
+ end_at: string;
8359
+ id: string;
8360
+ notes: string | null;
8361
+ start_at: string;
8362
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8363
+ updated_at: string;
8364
+ werkbon_id: string;
8365
+ };
8366
+ Insert: {
8367
+ assigned_monteur_id: string;
8368
+ created_at?: string;
8369
+ created_by?: string | null;
8370
+ end_at: string;
8371
+ id?: string;
8372
+ notes?: string | null;
8373
+ start_at: string;
8374
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8375
+ updated_at?: string;
8376
+ werkbon_id: string;
8377
+ };
8378
+ Update: {
8379
+ assigned_monteur_id?: string;
8380
+ created_at?: string;
8381
+ created_by?: string | null;
8382
+ end_at?: string;
8383
+ id?: string;
8384
+ notes?: string | null;
8385
+ start_at?: string;
8386
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8387
+ updated_at?: string;
8388
+ werkbon_id?: string;
8389
+ };
8390
+ Relationships: [{
8391
+ foreignKeyName: "planning_items_werkbon_id_fkey";
8392
+ columns: ["werkbon_id"];
8393
+ isOneToOne: false;
8394
+ referencedRelation: "werkbonnen";
8395
+ referencedColumns: ["id"];
8396
+ }];
8397
+ };
7606
8398
  product_categories: {
7607
8399
  Row: {
7608
8400
  color: string;
@@ -7736,6 +8528,8 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7736
8528
  Row: {
7737
8529
  created_at: string;
7738
8530
  description: string | null;
8531
+ head_product_id: string | null;
8532
+ head_trade_item_floriday_id: string | null;
7739
8533
  id: string;
7740
8534
  is_active: boolean;
7741
8535
  name: string;
@@ -7745,6 +8539,8 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7745
8539
  Insert: {
7746
8540
  created_at?: string;
7747
8541
  description?: string | null;
8542
+ head_product_id?: string | null;
8543
+ head_trade_item_floriday_id?: string | null;
7748
8544
  id?: string;
7749
8545
  is_active?: boolean;
7750
8546
  name: string;
@@ -7754,13 +8550,21 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
7754
8550
  Update: {
7755
8551
  created_at?: string;
7756
8552
  description?: string | null;
8553
+ head_product_id?: string | null;
8554
+ head_trade_item_floriday_id?: string | null;
7757
8555
  id?: string;
7758
8556
  is_active?: boolean;
7759
8557
  name?: string;
7760
8558
  tenant_id?: string;
7761
8559
  updated_at?: string;
7762
8560
  };
7763
- Relationships: [];
8561
+ Relationships: [{
8562
+ foreignKeyName: "product_groups_head_product_id_fkey";
8563
+ columns: ["head_product_id"];
8564
+ isOneToOne: false;
8565
+ referencedRelation: "products";
8566
+ referencedColumns: ["id"];
8567
+ }];
7764
8568
  };
7765
8569
  products: {
7766
8570
  Row: {
@@ -10311,6 +11115,7 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
10311
11115
  internal_notes: string | null;
10312
11116
  parent_werkbon_id: string | null;
10313
11117
  parsed_payload: import("../integrations/supabase/types").Json | null;
11118
+ planning_status: string;
10314
11119
  project_number: string | null;
10315
11120
  room_number: string | null;
10316
11121
  scheduled_end_time: string | null;
@@ -10318,6 +11123,7 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
10318
11123
  sequence_number: number;
10319
11124
  source_pdf_path: string | null;
10320
11125
  status: string;
11126
+ technician_id: string | null;
10321
11127
  technician_notes: string | null;
10322
11128
  technician_notes_raw: string | null;
10323
11129
  technician_task_description: string | null;
@@ -10338,6 +11144,7 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
10338
11144
  internal_notes?: string | null;
10339
11145
  parent_werkbon_id?: string | null;
10340
11146
  parsed_payload?: import("../integrations/supabase/types").Json | null;
11147
+ planning_status?: string;
10341
11148
  project_number?: string | null;
10342
11149
  room_number?: string | null;
10343
11150
  scheduled_end_time?: string | null;
@@ -10345,6 +11152,7 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
10345
11152
  sequence_number: number;
10346
11153
  source_pdf_path?: string | null;
10347
11154
  status?: string;
11155
+ technician_id?: string | null;
10348
11156
  technician_notes?: string | null;
10349
11157
  technician_notes_raw?: string | null;
10350
11158
  technician_task_description?: string | null;
@@ -10365,6 +11173,7 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
10365
11173
  internal_notes?: string | null;
10366
11174
  parent_werkbon_id?: string | null;
10367
11175
  parsed_payload?: import("../integrations/supabase/types").Json | null;
11176
+ planning_status?: string;
10368
11177
  project_number?: string | null;
10369
11178
  room_number?: string | null;
10370
11179
  scheduled_end_time?: string | null;
@@ -10372,6 +11181,7 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
10372
11181
  sequence_number?: number;
10373
11182
  source_pdf_path?: string | null;
10374
11183
  status?: string;
11184
+ technician_id?: string | null;
10375
11185
  technician_notes?: string | null;
10376
11186
  technician_notes_raw?: string | null;
10377
11187
  technician_task_description?: string | null;
@@ -10380,17 +11190,17 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
10380
11190
  work_address?: string | null;
10381
11191
  };
10382
11192
  Relationships: [{
10383
- foreignKeyName: "werkbonnen_customer_id_fkey";
10384
- columns: ["customer_id"];
10385
- isOneToOne: false;
10386
- referencedRelation: "customers";
10387
- referencedColumns: ["id"];
10388
- }, {
10389
11193
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
10390
11194
  columns: ["parent_werkbon_id"];
10391
11195
  isOneToOne: false;
10392
11196
  referencedRelation: "werkbonnen";
10393
11197
  referencedColumns: ["id"];
11198
+ }, {
11199
+ foreignKeyName: "werkbonnen_technician_id_fkey";
11200
+ columns: ["technician_id"];
11201
+ isOneToOne: false;
11202
+ referencedRelation: "monteurs";
11203
+ referencedColumns: ["id"];
10394
11204
  }];
10395
11205
  };
10396
11206
  work_order_monteurs: {
@@ -11109,6 +11919,21 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
11109
11919
  };
11110
11920
  Returns: string;
11111
11921
  };
11922
+ ai_usage_by_module: {
11923
+ Args: {
11924
+ _from: string;
11925
+ _to: string;
11926
+ };
11927
+ Returns: {
11928
+ calls: number;
11929
+ consumer_module_id: string;
11930
+ cost_usd: number;
11931
+ errors: number;
11932
+ input_tokens: number;
11933
+ output_tokens: number;
11934
+ total_tokens: number;
11935
+ }[];
11936
+ };
11112
11937
  apply_stock_consumption: {
11113
11938
  Args: {
11114
11939
  p_order_id: string;
@@ -11257,6 +12082,12 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
11257
12082
  Args: never;
11258
12083
  Returns: string;
11259
12084
  };
12085
+ custom_access_token_hook: {
12086
+ Args: {
12087
+ event: import("../integrations/supabase/types").Json;
12088
+ };
12089
+ Returns: import("../integrations/supabase/types").Json;
12090
+ };
11260
12091
  dashboard_alert_counts: {
11261
12092
  Args: never;
11262
12093
  Returns: import("../integrations/supabase/types").Json;
@@ -11592,6 +12423,14 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
11592
12423
  };
11593
12424
  Returns: string;
11594
12425
  };
12426
+ has_module_permission: {
12427
+ Args: {
12428
+ _min: string;
12429
+ _module_id: string;
12430
+ _user_id: string;
12431
+ };
12432
+ Returns: boolean;
12433
+ };
11595
12434
  has_role: {
11596
12435
  Args: {
11597
12436
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -11617,6 +12456,20 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
11617
12456
  };
11618
12457
  Returns: boolean;
11619
12458
  };
12459
+ jwt_has_role: {
12460
+ Args: {
12461
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
12462
+ };
12463
+ Returns: boolean;
12464
+ };
12465
+ list_monteurs: {
12466
+ Args: never;
12467
+ Returns: {
12468
+ display_name: string;
12469
+ email: string;
12470
+ user_id: string;
12471
+ }[];
12472
+ };
11620
12473
  local_effective_price: {
11621
12474
  Args: {
11622
12475
  _customer_id: string;
@@ -11633,6 +12486,22 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
11633
12486
  source_id: string;
11634
12487
  }[];
11635
12488
  };
12489
+ log_ai_call: {
12490
+ Args: {
12491
+ _consumer_module_id: string;
12492
+ _cost_usd: number;
12493
+ _duration_ms: number;
12494
+ _error_code: string;
12495
+ _error_message: string;
12496
+ _input_tokens: number;
12497
+ _model_slug: string;
12498
+ _output_tokens: number;
12499
+ _provider_slug: string;
12500
+ _status: string;
12501
+ _total_tokens: number;
12502
+ };
12503
+ Returns: string;
12504
+ };
11636
12505
  mark_offer_clicked: {
11637
12506
  Args: {
11638
12507
  p_code: string;
@@ -11645,6 +12514,12 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
11645
12514
  };
11646
12515
  Returns: undefined;
11647
12516
  };
12517
+ mark_shipment_shipped: {
12518
+ Args: {
12519
+ p_shipment_id: string;
12520
+ };
12521
+ Returns: undefined;
12522
+ };
11648
12523
  next_order_number: {
11649
12524
  Args: {
11650
12525
  p_prefix: string;
@@ -12121,9 +12996,12 @@ export declare const listCarriers: import("@tanstack/start-client-core").Optiona
12121
12996
  };
12122
12997
  };
12123
12998
  Enums: {
12124
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
12999
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
12125
13000
  exact_env: "staging" | "live";
12126
13001
  exact_push_status: "pending" | "sent" | "error";
13002
+ itk_customer_segment: "Business" | "Private";
13003
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
13004
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
12127
13005
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
12128
13006
  };
12129
13007
  CompositeTypes: { [_ in never]: never; };
@@ -12421,6 +13299,57 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
12421
13299
  referencedColumns: ["id"];
12422
13300
  }];
12423
13301
  };
13302
+ ai_call_log: {
13303
+ Row: {
13304
+ consumer_module_id: string;
13305
+ cost_usd: number | null;
13306
+ created_at: string;
13307
+ created_by: string | null;
13308
+ duration_ms: number | null;
13309
+ error_code: string | null;
13310
+ error_message: string | null;
13311
+ id: string;
13312
+ input_tokens: number;
13313
+ model_slug: string | null;
13314
+ output_tokens: number;
13315
+ provider_slug: string | null;
13316
+ status: string;
13317
+ total_tokens: number;
13318
+ };
13319
+ Insert: {
13320
+ consumer_module_id: string;
13321
+ cost_usd?: number | null;
13322
+ created_at?: string;
13323
+ created_by?: string | null;
13324
+ duration_ms?: number | null;
13325
+ error_code?: string | null;
13326
+ error_message?: string | null;
13327
+ id?: string;
13328
+ input_tokens?: number;
13329
+ model_slug?: string | null;
13330
+ output_tokens?: number;
13331
+ provider_slug?: string | null;
13332
+ status: string;
13333
+ total_tokens?: number;
13334
+ };
13335
+ Update: {
13336
+ consumer_module_id?: string;
13337
+ cost_usd?: number | null;
13338
+ created_at?: string;
13339
+ created_by?: string | null;
13340
+ duration_ms?: number | null;
13341
+ error_code?: string | null;
13342
+ error_message?: string | null;
13343
+ id?: string;
13344
+ input_tokens?: number;
13345
+ model_slug?: string | null;
13346
+ output_tokens?: number;
13347
+ provider_slug?: string | null;
13348
+ status?: string;
13349
+ total_tokens?: number;
13350
+ };
13351
+ Relationships: [];
13352
+ };
12424
13353
  ai_credentials: {
12425
13354
  Row: {
12426
13355
  active: boolean;
@@ -12457,6 +13386,36 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
12457
13386
  referencedColumns: ["id"];
12458
13387
  }];
12459
13388
  };
13389
+ ai_goals: {
13390
+ Row: {
13391
+ active: boolean;
13392
+ created_at: string;
13393
+ description: string | null;
13394
+ key: string;
13395
+ label: string;
13396
+ sort_order: number;
13397
+ updated_at: string;
13398
+ };
13399
+ Insert: {
13400
+ active?: boolean;
13401
+ created_at?: string;
13402
+ description?: string | null;
13403
+ key: string;
13404
+ label: string;
13405
+ sort_order?: number;
13406
+ updated_at?: string;
13407
+ };
13408
+ Update: {
13409
+ active?: boolean;
13410
+ created_at?: string;
13411
+ description?: string | null;
13412
+ key?: string;
13413
+ label?: string;
13414
+ sort_order?: number;
13415
+ updated_at?: string;
13416
+ };
13417
+ Relationships: [];
13418
+ };
12460
13419
  ai_model_pricing: {
12461
13420
  Row: {
12462
13421
  created_at: string;
@@ -13243,6 +14202,141 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
13243
14202
  };
13244
14203
  Relationships: [];
13245
14204
  };
14205
+ cart_planning_pick_times: {
14206
+ Row: {
14207
+ created_at: string;
14208
+ id: string;
14209
+ pot_size: string;
14210
+ seconds_per_cart: number;
14211
+ updated_at: string;
14212
+ };
14213
+ Insert: {
14214
+ created_at?: string;
14215
+ id?: string;
14216
+ pot_size: string;
14217
+ seconds_per_cart: number;
14218
+ updated_at?: string;
14219
+ };
14220
+ Update: {
14221
+ created_at?: string;
14222
+ id?: string;
14223
+ pot_size?: string;
14224
+ seconds_per_cart?: number;
14225
+ updated_at?: string;
14226
+ };
14227
+ Relationships: [];
14228
+ };
14229
+ cart_planning_product_overrides: {
14230
+ Row: {
14231
+ created_at: string;
14232
+ id: string;
14233
+ max_party_share_per_layer_pct_override: number | null;
14234
+ never_mix: boolean;
14235
+ notes: string | null;
14236
+ product_id: string;
14237
+ updated_at: string;
14238
+ };
14239
+ Insert: {
14240
+ created_at?: string;
14241
+ id?: string;
14242
+ max_party_share_per_layer_pct_override?: number | null;
14243
+ never_mix?: boolean;
14244
+ notes?: string | null;
14245
+ product_id: string;
14246
+ updated_at?: string;
14247
+ };
14248
+ Update: {
14249
+ created_at?: string;
14250
+ id?: string;
14251
+ max_party_share_per_layer_pct_override?: number | null;
14252
+ never_mix?: boolean;
14253
+ notes?: string | null;
14254
+ product_id?: string;
14255
+ updated_at?: string;
14256
+ };
14257
+ Relationships: [{
14258
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
14259
+ columns: ["product_id"];
14260
+ isOneToOne: true;
14261
+ referencedRelation: "products";
14262
+ referencedColumns: ["id"];
14263
+ }];
14264
+ };
14265
+ cart_planning_settings: {
14266
+ Row: {
14267
+ allow_editing_after_pickstation_send: boolean;
14268
+ buffer_grouping_mode: string;
14269
+ combine_floriday_orders: boolean;
14270
+ combine_floriday_orders_window: string;
14271
+ combine_orders_scope: string;
14272
+ default_workers: number;
14273
+ id: number;
14274
+ max_beladingen_per_layer: number;
14275
+ max_customers_per_cart: number;
14276
+ max_one_customer_per_layer: boolean;
14277
+ max_party_share_per_layer_pct: number;
14278
+ optimization_strategy: string;
14279
+ own_cart_from_layers: number;
14280
+ pick_time_mode: string;
14281
+ plants_per_day: number;
14282
+ plants_per_hour: number;
14283
+ require_same_carrier: boolean;
14284
+ require_same_crate_type: boolean;
14285
+ require_same_delivery_date: boolean;
14286
+ require_same_delivery_location: boolean;
14287
+ updated_at: string;
14288
+ updated_by: string | null;
14289
+ };
14290
+ Insert: {
14291
+ allow_editing_after_pickstation_send?: boolean;
14292
+ buffer_grouping_mode?: string;
14293
+ combine_floriday_orders?: boolean;
14294
+ combine_floriday_orders_window?: string;
14295
+ combine_orders_scope?: string;
14296
+ default_workers?: number;
14297
+ id?: number;
14298
+ max_beladingen_per_layer?: number;
14299
+ max_customers_per_cart?: number;
14300
+ max_one_customer_per_layer?: boolean;
14301
+ max_party_share_per_layer_pct?: number;
14302
+ optimization_strategy?: string;
14303
+ own_cart_from_layers?: number;
14304
+ pick_time_mode?: string;
14305
+ plants_per_day?: number;
14306
+ plants_per_hour?: number;
14307
+ require_same_carrier?: boolean;
14308
+ require_same_crate_type?: boolean;
14309
+ require_same_delivery_date?: boolean;
14310
+ require_same_delivery_location?: boolean;
14311
+ updated_at?: string;
14312
+ updated_by?: string | null;
14313
+ };
14314
+ Update: {
14315
+ allow_editing_after_pickstation_send?: boolean;
14316
+ buffer_grouping_mode?: string;
14317
+ combine_floriday_orders?: boolean;
14318
+ combine_floriday_orders_window?: string;
14319
+ combine_orders_scope?: string;
14320
+ default_workers?: number;
14321
+ id?: number;
14322
+ max_beladingen_per_layer?: number;
14323
+ max_customers_per_cart?: number;
14324
+ max_one_customer_per_layer?: boolean;
14325
+ max_party_share_per_layer_pct?: number;
14326
+ optimization_strategy?: string;
14327
+ own_cart_from_layers?: number;
14328
+ pick_time_mode?: string;
14329
+ plants_per_day?: number;
14330
+ plants_per_hour?: number;
14331
+ require_same_carrier?: boolean;
14332
+ require_same_crate_type?: boolean;
14333
+ require_same_delivery_date?: boolean;
14334
+ require_same_delivery_location?: boolean;
14335
+ updated_at?: string;
14336
+ updated_by?: string | null;
14337
+ };
14338
+ Relationships: [];
14339
+ };
13246
14340
  cart_replan_queue: {
13247
14341
  Row: {
13248
14342
  attempts: number;
@@ -13273,6 +14367,39 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
13273
14367
  referencedColumns: ["id"];
13274
14368
  }];
13275
14369
  };
14370
+ cart_types: {
14371
+ Row: {
14372
+ created_at: string;
14373
+ id: string;
14374
+ is_default: boolean;
14375
+ layer_length_cm: number;
14376
+ layer_width_cm: number;
14377
+ layers_per_cart: number;
14378
+ name: string;
14379
+ updated_at: string;
14380
+ };
14381
+ Insert: {
14382
+ created_at?: string;
14383
+ id?: string;
14384
+ is_default?: boolean;
14385
+ layer_length_cm: number;
14386
+ layer_width_cm: number;
14387
+ layers_per_cart?: number;
14388
+ name: string;
14389
+ updated_at?: string;
14390
+ };
14391
+ Update: {
14392
+ created_at?: string;
14393
+ id?: string;
14394
+ is_default?: boolean;
14395
+ layer_length_cm?: number;
14396
+ layer_width_cm?: number;
14397
+ layers_per_cart?: number;
14398
+ name?: string;
14399
+ updated_at?: string;
14400
+ };
14401
+ Relationships: [];
14402
+ };
13276
14403
  catalog_articles_cache: {
13277
14404
  Row: {
13278
14405
  created_at: string;
@@ -13360,6 +14487,36 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
13360
14487
  };
13361
14488
  Relationships: [];
13362
14489
  };
14490
+ crate_types: {
14491
+ Row: {
14492
+ created_at: string;
14493
+ id: string;
14494
+ length_cm: number;
14495
+ name: string;
14496
+ plants_per_crate: number;
14497
+ updated_at: string;
14498
+ width_cm: number;
14499
+ };
14500
+ Insert: {
14501
+ created_at?: string;
14502
+ id?: string;
14503
+ length_cm: number;
14504
+ name: string;
14505
+ plants_per_crate?: number;
14506
+ updated_at?: string;
14507
+ width_cm: number;
14508
+ };
14509
+ Update: {
14510
+ created_at?: string;
14511
+ id?: string;
14512
+ length_cm?: number;
14513
+ name?: string;
14514
+ plants_per_crate?: number;
14515
+ updated_at?: string;
14516
+ width_cm?: number;
14517
+ };
14518
+ Relationships: [];
14519
+ };
13363
14520
  customer_audit_log: {
13364
14521
  Row: {
13365
14522
  action: string;
@@ -17899,6 +19056,288 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
17899
19056
  };
17900
19057
  Relationships: [];
17901
19058
  };
19059
+ itk_contact_persons: {
19060
+ Row: {
19061
+ created_at: string;
19062
+ customer_id: string;
19063
+ email: string | null;
19064
+ id: string;
19065
+ name: string;
19066
+ phone: string | null;
19067
+ role: string | null;
19068
+ updated_at: string;
19069
+ };
19070
+ Insert: {
19071
+ created_at?: string;
19072
+ customer_id: string;
19073
+ email?: string | null;
19074
+ id?: string;
19075
+ name: string;
19076
+ phone?: string | null;
19077
+ role?: string | null;
19078
+ updated_at?: string;
19079
+ };
19080
+ Update: {
19081
+ created_at?: string;
19082
+ customer_id?: string;
19083
+ email?: string | null;
19084
+ id?: string;
19085
+ name?: string;
19086
+ phone?: string | null;
19087
+ role?: string | null;
19088
+ updated_at?: string;
19089
+ };
19090
+ Relationships: [{
19091
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
19092
+ columns: ["customer_id"];
19093
+ isOneToOne: false;
19094
+ referencedRelation: "itk_customers";
19095
+ referencedColumns: ["id"];
19096
+ }];
19097
+ };
19098
+ itk_customer_dynamic_values: {
19099
+ Row: {
19100
+ created_at: string;
19101
+ customer_id: string;
19102
+ field_id: string;
19103
+ id: string;
19104
+ updated_at: string;
19105
+ value: string | null;
19106
+ };
19107
+ Insert: {
19108
+ created_at?: string;
19109
+ customer_id: string;
19110
+ field_id: string;
19111
+ id?: string;
19112
+ updated_at?: string;
19113
+ value?: string | null;
19114
+ };
19115
+ Update: {
19116
+ created_at?: string;
19117
+ customer_id?: string;
19118
+ field_id?: string;
19119
+ id?: string;
19120
+ updated_at?: string;
19121
+ value?: string | null;
19122
+ };
19123
+ Relationships: [{
19124
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
19125
+ columns: ["customer_id"];
19126
+ isOneToOne: false;
19127
+ referencedRelation: "itk_customers";
19128
+ referencedColumns: ["id"];
19129
+ }, {
19130
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
19131
+ columns: ["field_id"];
19132
+ isOneToOne: false;
19133
+ referencedRelation: "itk_dynamic_fields";
19134
+ referencedColumns: ["id"];
19135
+ }];
19136
+ };
19137
+ itk_customer_notes: {
19138
+ Row: {
19139
+ body: string;
19140
+ created_at: string;
19141
+ created_by: string | null;
19142
+ customer_id: string;
19143
+ id: string;
19144
+ note_type: string;
19145
+ updated_at: string;
19146
+ };
19147
+ Insert: {
19148
+ body: string;
19149
+ created_at?: string;
19150
+ created_by?: string | null;
19151
+ customer_id: string;
19152
+ id?: string;
19153
+ note_type?: string;
19154
+ updated_at?: string;
19155
+ };
19156
+ Update: {
19157
+ body?: string;
19158
+ created_at?: string;
19159
+ created_by?: string | null;
19160
+ customer_id?: string;
19161
+ id?: string;
19162
+ note_type?: string;
19163
+ updated_at?: string;
19164
+ };
19165
+ Relationships: [{
19166
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
19167
+ columns: ["customer_id"];
19168
+ isOneToOne: false;
19169
+ referencedRelation: "itk_customers";
19170
+ referencedColumns: ["id"];
19171
+ }];
19172
+ };
19173
+ itk_customers: {
19174
+ Row: {
19175
+ billing_city: string | null;
19176
+ billing_postcode: string | null;
19177
+ billing_street: string | null;
19178
+ created_at: string;
19179
+ general_email: string | null;
19180
+ general_phone: string | null;
19181
+ id: string;
19182
+ legacy_customer_id: string | null;
19183
+ name: string;
19184
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19185
+ updated_at: string;
19186
+ };
19187
+ Insert: {
19188
+ billing_city?: string | null;
19189
+ billing_postcode?: string | null;
19190
+ billing_street?: string | null;
19191
+ created_at?: string;
19192
+ general_email?: string | null;
19193
+ general_phone?: string | null;
19194
+ id?: string;
19195
+ legacy_customer_id?: string | null;
19196
+ name: string;
19197
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19198
+ updated_at?: string;
19199
+ };
19200
+ Update: {
19201
+ billing_city?: string | null;
19202
+ billing_postcode?: string | null;
19203
+ billing_street?: string | null;
19204
+ created_at?: string;
19205
+ general_email?: string | null;
19206
+ general_phone?: string | null;
19207
+ id?: string;
19208
+ legacy_customer_id?: string | null;
19209
+ name?: string;
19210
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19211
+ updated_at?: string;
19212
+ };
19213
+ Relationships: [{
19214
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
19215
+ columns: ["legacy_customer_id"];
19216
+ isOneToOne: false;
19217
+ referencedRelation: "customers";
19218
+ referencedColumns: ["id"];
19219
+ }];
19220
+ };
19221
+ itk_dynamic_fields: {
19222
+ Row: {
19223
+ created_at: string;
19224
+ field_name: string;
19225
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19226
+ id: string;
19227
+ options: import("../integrations/supabase/types").Json;
19228
+ sort_order: number;
19229
+ updated_at: string;
19230
+ };
19231
+ Insert: {
19232
+ created_at?: string;
19233
+ field_name: string;
19234
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19235
+ id?: string;
19236
+ options?: import("../integrations/supabase/types").Json;
19237
+ sort_order?: number;
19238
+ updated_at?: string;
19239
+ };
19240
+ Update: {
19241
+ created_at?: string;
19242
+ field_name?: string;
19243
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19244
+ id?: string;
19245
+ options?: import("../integrations/supabase/types").Json;
19246
+ sort_order?: number;
19247
+ updated_at?: string;
19248
+ };
19249
+ Relationships: [];
19250
+ };
19251
+ itk_work_locations: {
19252
+ Row: {
19253
+ city: string | null;
19254
+ created_at: string;
19255
+ customer_id: string;
19256
+ id: string;
19257
+ instructions: string | null;
19258
+ label: string;
19259
+ latitude: number | null;
19260
+ longitude: number | null;
19261
+ postcode: string | null;
19262
+ street: string | null;
19263
+ updated_at: string;
19264
+ };
19265
+ Insert: {
19266
+ city?: string | null;
19267
+ created_at?: string;
19268
+ customer_id: string;
19269
+ id?: string;
19270
+ instructions?: string | null;
19271
+ label: string;
19272
+ latitude?: number | null;
19273
+ longitude?: number | null;
19274
+ postcode?: string | null;
19275
+ street?: string | null;
19276
+ updated_at?: string;
19277
+ };
19278
+ Update: {
19279
+ city?: string | null;
19280
+ created_at?: string;
19281
+ customer_id?: string;
19282
+ id?: string;
19283
+ instructions?: string | null;
19284
+ label?: string;
19285
+ latitude?: number | null;
19286
+ longitude?: number | null;
19287
+ postcode?: string | null;
19288
+ street?: string | null;
19289
+ updated_at?: string;
19290
+ };
19291
+ Relationships: [{
19292
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
19293
+ columns: ["customer_id"];
19294
+ isOneToOne: false;
19295
+ referencedRelation: "itk_customers";
19296
+ referencedColumns: ["id"];
19297
+ }];
19298
+ };
19299
+ leave_requests: {
19300
+ Row: {
19301
+ created_at: string;
19302
+ end_date: string;
19303
+ id: string;
19304
+ reason: string | null;
19305
+ start_date: string;
19306
+ status: string;
19307
+ tenant_id: string;
19308
+ updated_at: string;
19309
+ user_id: string;
19310
+ };
19311
+ Insert: {
19312
+ created_at?: string;
19313
+ end_date: string;
19314
+ id?: string;
19315
+ reason?: string | null;
19316
+ start_date: string;
19317
+ status?: string;
19318
+ tenant_id?: string;
19319
+ updated_at?: string;
19320
+ user_id: string;
19321
+ };
19322
+ Update: {
19323
+ created_at?: string;
19324
+ end_date?: string;
19325
+ id?: string;
19326
+ reason?: string | null;
19327
+ start_date?: string;
19328
+ status?: string;
19329
+ tenant_id?: string;
19330
+ updated_at?: string;
19331
+ user_id?: string;
19332
+ };
19333
+ Relationships: [{
19334
+ foreignKeyName: "leave_requests_user_id_fkey";
19335
+ columns: ["user_id"];
19336
+ isOneToOne: false;
19337
+ referencedRelation: "monteurs";
19338
+ referencedColumns: ["id"];
19339
+ }];
19340
+ };
17902
19341
  local_customer_agreements: {
17903
19342
  Row: {
17904
19343
  base_price: number | null;
@@ -18550,6 +19989,33 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
18550
19989
  };
18551
19990
  Relationships: [];
18552
19991
  };
19992
+ module_permissions: {
19993
+ Row: {
19994
+ created_at: string;
19995
+ id: string;
19996
+ module_id: string;
19997
+ permission: string;
19998
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
19999
+ updated_at: string;
20000
+ };
20001
+ Insert: {
20002
+ created_at?: string;
20003
+ id?: string;
20004
+ module_id: string;
20005
+ permission: string;
20006
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
20007
+ updated_at?: string;
20008
+ };
20009
+ Update: {
20010
+ created_at?: string;
20011
+ id?: string;
20012
+ module_id?: string;
20013
+ permission?: string;
20014
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
20015
+ updated_at?: string;
20016
+ };
20017
+ Relationships: [];
20018
+ };
18553
20019
  monteurs: {
18554
20020
  Row: {
18555
20021
  avatar_url: string | null;
@@ -19279,6 +20745,42 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19279
20745
  };
19280
20746
  Relationships: [];
19281
20747
  };
20748
+ order_buffers: {
20749
+ Row: {
20750
+ buffer_key: string;
20751
+ created_at: string;
20752
+ customer_id: string | null;
20753
+ grouping_mode: string;
20754
+ id: string;
20755
+ pickup_date: string | null;
20756
+ pickup_location: string | null;
20757
+ plan_locked_at: string | null;
20758
+ updated_at: string;
20759
+ };
20760
+ Insert: {
20761
+ buffer_key: string;
20762
+ created_at?: string;
20763
+ customer_id?: string | null;
20764
+ grouping_mode: string;
20765
+ id?: string;
20766
+ pickup_date?: string | null;
20767
+ pickup_location?: string | null;
20768
+ plan_locked_at?: string | null;
20769
+ updated_at?: string;
20770
+ };
20771
+ Update: {
20772
+ buffer_key?: string;
20773
+ created_at?: string;
20774
+ customer_id?: string | null;
20775
+ grouping_mode?: string;
20776
+ id?: string;
20777
+ pickup_date?: string | null;
20778
+ pickup_location?: string | null;
20779
+ plan_locked_at?: string | null;
20780
+ updated_at?: string;
20781
+ };
20782
+ Relationships: [];
20783
+ };
19282
20784
  order_cart_items: {
19283
20785
  Row: {
19284
20786
  cart_id: string;
@@ -19345,6 +20847,7 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19345
20847
  order_carts: {
19346
20848
  Row: {
19347
20849
  algorithm_version: number;
20850
+ buffer_id: string | null;
19348
20851
  cart_number: number;
19349
20852
  created_at: string;
19350
20853
  id: string;
@@ -19352,13 +20855,14 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19352
20855
  is_complete: boolean;
19353
20856
  notes: string | null;
19354
20857
  occupancy_pct: number;
19355
- order_id: string;
20858
+ order_id: string | null;
19356
20859
  source: string;
19357
20860
  total_layers_used: number;
19358
20861
  updated_at: string;
19359
20862
  };
19360
20863
  Insert: {
19361
20864
  algorithm_version?: number;
20865
+ buffer_id?: string | null;
19362
20866
  cart_number: number;
19363
20867
  created_at?: string;
19364
20868
  id?: string;
@@ -19366,13 +20870,14 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19366
20870
  is_complete?: boolean;
19367
20871
  notes?: string | null;
19368
20872
  occupancy_pct?: number;
19369
- order_id: string;
20873
+ order_id?: string | null;
19370
20874
  source?: string;
19371
20875
  total_layers_used?: number;
19372
20876
  updated_at?: string;
19373
20877
  };
19374
20878
  Update: {
19375
20879
  algorithm_version?: number;
20880
+ buffer_id?: string | null;
19376
20881
  cart_number?: number;
19377
20882
  created_at?: string;
19378
20883
  id?: string;
@@ -19380,12 +20885,18 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19380
20885
  is_complete?: boolean;
19381
20886
  notes?: string | null;
19382
20887
  occupancy_pct?: number;
19383
- order_id?: string;
20888
+ order_id?: string | null;
19384
20889
  source?: string;
19385
20890
  total_layers_used?: number;
19386
20891
  updated_at?: string;
19387
20892
  };
19388
20893
  Relationships: [{
20894
+ foreignKeyName: "order_carts_buffer_id_fkey";
20895
+ columns: ["buffer_id"];
20896
+ isOneToOne: false;
20897
+ referencedRelation: "order_buffers";
20898
+ referencedColumns: ["id"];
20899
+ }, {
19389
20900
  foreignKeyName: "order_carts_order_id_fkey";
19390
20901
  columns: ["order_id"];
19391
20902
  isOneToOne: false;
@@ -19522,15 +21033,117 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19522
21033
  };
19523
21034
  Relationships: [];
19524
21035
  };
21036
+ order_shipment_items: {
21037
+ Row: {
21038
+ created_at: string;
21039
+ id: string;
21040
+ order_item_id: string;
21041
+ product_id: string | null;
21042
+ product_name: string;
21043
+ quantity: number;
21044
+ shipment_id: string;
21045
+ updated_at: string;
21046
+ };
21047
+ Insert: {
21048
+ created_at?: string;
21049
+ id?: string;
21050
+ order_item_id: string;
21051
+ product_id?: string | null;
21052
+ product_name: string;
21053
+ quantity: number;
21054
+ shipment_id: string;
21055
+ updated_at?: string;
21056
+ };
21057
+ Update: {
21058
+ created_at?: string;
21059
+ id?: string;
21060
+ order_item_id?: string;
21061
+ product_id?: string | null;
21062
+ product_name?: string;
21063
+ quantity?: number;
21064
+ shipment_id?: string;
21065
+ updated_at?: string;
21066
+ };
21067
+ Relationships: [{
21068
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
21069
+ columns: ["order_item_id"];
21070
+ isOneToOne: false;
21071
+ referencedRelation: "order_items";
21072
+ referencedColumns: ["id"];
21073
+ }, {
21074
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
21075
+ columns: ["shipment_id"];
21076
+ isOneToOne: false;
21077
+ referencedRelation: "order_shipments";
21078
+ referencedColumns: ["id"];
21079
+ }];
21080
+ };
21081
+ order_shipments: {
21082
+ Row: {
21083
+ carrier_id: string | null;
21084
+ created_at: string;
21085
+ delivery_date: string | null;
21086
+ delivery_location_id: string | null;
21087
+ id: string;
21088
+ notes: string | null;
21089
+ order_id: string;
21090
+ shipment_number: number;
21091
+ shipped_at: string | null;
21092
+ status: string;
21093
+ updated_at: string;
21094
+ };
21095
+ Insert: {
21096
+ carrier_id?: string | null;
21097
+ created_at?: string;
21098
+ delivery_date?: string | null;
21099
+ delivery_location_id?: string | null;
21100
+ id?: string;
21101
+ notes?: string | null;
21102
+ order_id: string;
21103
+ shipment_number: number;
21104
+ shipped_at?: string | null;
21105
+ status?: string;
21106
+ updated_at?: string;
21107
+ };
21108
+ Update: {
21109
+ carrier_id?: string | null;
21110
+ created_at?: string;
21111
+ delivery_date?: string | null;
21112
+ delivery_location_id?: string | null;
21113
+ id?: string;
21114
+ notes?: string | null;
21115
+ order_id?: string;
21116
+ shipment_number?: number;
21117
+ shipped_at?: string | null;
21118
+ status?: string;
21119
+ updated_at?: string;
21120
+ };
21121
+ Relationships: [{
21122
+ foreignKeyName: "order_shipments_carrier_id_fkey";
21123
+ columns: ["carrier_id"];
21124
+ isOneToOne: false;
21125
+ referencedRelation: "carriers";
21126
+ referencedColumns: ["id"];
21127
+ }, {
21128
+ foreignKeyName: "order_shipments_order_id_fkey";
21129
+ columns: ["order_id"];
21130
+ isOneToOne: false;
21131
+ referencedRelation: "orders";
21132
+ referencedColumns: ["id"];
21133
+ }];
21134
+ };
19525
21135
  orders: {
19526
21136
  Row: {
21137
+ buffer_id: string | null;
19527
21138
  created_at: string;
19528
21139
  custom_fields: import("../integrations/supabase/types").Json;
19529
21140
  customer_id: string | null;
19530
21141
  customer_name: string;
19531
21142
  deleted_at: string | null;
19532
- delivery_date: string;
21143
+ delivery_date: string | null;
21144
+ floriday_sales_order_id: string | null;
19533
21145
  id: string;
21146
+ is_reservation: boolean;
19534
21147
  notes: string | null;
19535
21148
  order_date: string;
19536
21149
  order_number: string;
@@ -19542,13 +21155,16 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19542
21155
  updated_at: string;
19543
21156
  };
19544
21157
  Insert: {
21158
+ buffer_id?: string | null;
19545
21159
  created_at?: string;
19546
21160
  custom_fields?: import("../integrations/supabase/types").Json;
19547
21161
  customer_id?: string | null;
19548
21162
  customer_name?: string;
19549
21163
  deleted_at?: string | null;
19550
- delivery_date: string;
21164
+ delivery_date?: string | null;
21165
+ floriday_sales_order_id?: string | null;
19551
21166
  id?: string;
21167
+ is_reservation?: boolean;
19552
21168
  notes?: string | null;
19553
21169
  order_date?: string;
19554
21170
  order_number: string;
@@ -19560,13 +21176,16 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19560
21176
  updated_at?: string;
19561
21177
  };
19562
21178
  Update: {
21179
+ buffer_id?: string | null;
19563
21180
  created_at?: string;
19564
21181
  custom_fields?: import("../integrations/supabase/types").Json;
19565
21182
  customer_id?: string | null;
19566
21183
  customer_name?: string;
19567
21184
  deleted_at?: string | null;
19568
- delivery_date?: string;
21185
+ delivery_date?: string | null;
21186
+ floriday_sales_order_id?: string | null;
19569
21187
  id?: string;
21188
+ is_reservation?: boolean;
19570
21189
  notes?: string | null;
19571
21190
  order_date?: string;
19572
21191
  order_number?: string;
@@ -19578,6 +21197,12 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19578
21197
  updated_at?: string;
19579
21198
  };
19580
21199
  Relationships: [{
21200
+ foreignKeyName: "orders_buffer_id_fkey";
21201
+ columns: ["buffer_id"];
21202
+ isOneToOne: false;
21203
+ referencedRelation: "order_buffers";
21204
+ referencedColumns: ["id"];
21205
+ }, {
19581
21206
  foreignKeyName: "orders_customer_id_fkey";
19582
21207
  columns: ["customer_id"];
19583
21208
  isOneToOne: false;
@@ -19708,6 +21333,51 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19708
21333
  };
19709
21334
  Relationships: [];
19710
21335
  };
21336
+ planning_items: {
21337
+ Row: {
21338
+ assigned_monteur_id: string;
21339
+ created_at: string;
21340
+ created_by: string | null;
21341
+ end_at: string;
21342
+ id: string;
21343
+ notes: string | null;
21344
+ start_at: string;
21345
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21346
+ updated_at: string;
21347
+ werkbon_id: string;
21348
+ };
21349
+ Insert: {
21350
+ assigned_monteur_id: string;
21351
+ created_at?: string;
21352
+ created_by?: string | null;
21353
+ end_at: string;
21354
+ id?: string;
21355
+ notes?: string | null;
21356
+ start_at: string;
21357
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21358
+ updated_at?: string;
21359
+ werkbon_id: string;
21360
+ };
21361
+ Update: {
21362
+ assigned_monteur_id?: string;
21363
+ created_at?: string;
21364
+ created_by?: string | null;
21365
+ end_at?: string;
21366
+ id?: string;
21367
+ notes?: string | null;
21368
+ start_at?: string;
21369
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21370
+ updated_at?: string;
21371
+ werkbon_id?: string;
21372
+ };
21373
+ Relationships: [{
21374
+ foreignKeyName: "planning_items_werkbon_id_fkey";
21375
+ columns: ["werkbon_id"];
21376
+ isOneToOne: false;
21377
+ referencedRelation: "werkbonnen";
21378
+ referencedColumns: ["id"];
21379
+ }];
21380
+ };
19711
21381
  product_categories: {
19712
21382
  Row: {
19713
21383
  color: string;
@@ -19841,6 +21511,8 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19841
21511
  Row: {
19842
21512
  created_at: string;
19843
21513
  description: string | null;
21514
+ head_product_id: string | null;
21515
+ head_trade_item_floriday_id: string | null;
19844
21516
  id: string;
19845
21517
  is_active: boolean;
19846
21518
  name: string;
@@ -19850,6 +21522,8 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19850
21522
  Insert: {
19851
21523
  created_at?: string;
19852
21524
  description?: string | null;
21525
+ head_product_id?: string | null;
21526
+ head_trade_item_floriday_id?: string | null;
19853
21527
  id?: string;
19854
21528
  is_active?: boolean;
19855
21529
  name: string;
@@ -19859,13 +21533,21 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
19859
21533
  Update: {
19860
21534
  created_at?: string;
19861
21535
  description?: string | null;
21536
+ head_product_id?: string | null;
21537
+ head_trade_item_floriday_id?: string | null;
19862
21538
  id?: string;
19863
21539
  is_active?: boolean;
19864
21540
  name?: string;
19865
21541
  tenant_id?: string;
19866
21542
  updated_at?: string;
19867
21543
  };
19868
- Relationships: [];
21544
+ Relationships: [{
21545
+ foreignKeyName: "product_groups_head_product_id_fkey";
21546
+ columns: ["head_product_id"];
21547
+ isOneToOne: false;
21548
+ referencedRelation: "products";
21549
+ referencedColumns: ["id"];
21550
+ }];
19869
21551
  };
19870
21552
  products: {
19871
21553
  Row: {
@@ -22416,6 +24098,7 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
22416
24098
  internal_notes: string | null;
22417
24099
  parent_werkbon_id: string | null;
22418
24100
  parsed_payload: import("../integrations/supabase/types").Json | null;
24101
+ planning_status: string;
22419
24102
  project_number: string | null;
22420
24103
  room_number: string | null;
22421
24104
  scheduled_end_time: string | null;
@@ -22423,6 +24106,7 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
22423
24106
  sequence_number: number;
22424
24107
  source_pdf_path: string | null;
22425
24108
  status: string;
24109
+ technician_id: string | null;
22426
24110
  technician_notes: string | null;
22427
24111
  technician_notes_raw: string | null;
22428
24112
  technician_task_description: string | null;
@@ -22443,6 +24127,7 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
22443
24127
  internal_notes?: string | null;
22444
24128
  parent_werkbon_id?: string | null;
22445
24129
  parsed_payload?: import("../integrations/supabase/types").Json | null;
24130
+ planning_status?: string;
22446
24131
  project_number?: string | null;
22447
24132
  room_number?: string | null;
22448
24133
  scheduled_end_time?: string | null;
@@ -22450,6 +24135,7 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
22450
24135
  sequence_number: number;
22451
24136
  source_pdf_path?: string | null;
22452
24137
  status?: string;
24138
+ technician_id?: string | null;
22453
24139
  technician_notes?: string | null;
22454
24140
  technician_notes_raw?: string | null;
22455
24141
  technician_task_description?: string | null;
@@ -22470,6 +24156,7 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
22470
24156
  internal_notes?: string | null;
22471
24157
  parent_werkbon_id?: string | null;
22472
24158
  parsed_payload?: import("../integrations/supabase/types").Json | null;
24159
+ planning_status?: string;
22473
24160
  project_number?: string | null;
22474
24161
  room_number?: string | null;
22475
24162
  scheduled_end_time?: string | null;
@@ -22477,6 +24164,7 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
22477
24164
  sequence_number?: number;
22478
24165
  source_pdf_path?: string | null;
22479
24166
  status?: string;
24167
+ technician_id?: string | null;
22480
24168
  technician_notes?: string | null;
22481
24169
  technician_notes_raw?: string | null;
22482
24170
  technician_task_description?: string | null;
@@ -22485,17 +24173,17 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
22485
24173
  work_address?: string | null;
22486
24174
  };
22487
24175
  Relationships: [{
22488
- foreignKeyName: "werkbonnen_customer_id_fkey";
22489
- columns: ["customer_id"];
22490
- isOneToOne: false;
22491
- referencedRelation: "customers";
22492
- referencedColumns: ["id"];
22493
- }, {
22494
24176
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
22495
24177
  columns: ["parent_werkbon_id"];
22496
24178
  isOneToOne: false;
22497
24179
  referencedRelation: "werkbonnen";
22498
24180
  referencedColumns: ["id"];
24181
+ }, {
24182
+ foreignKeyName: "werkbonnen_technician_id_fkey";
24183
+ columns: ["technician_id"];
24184
+ isOneToOne: false;
24185
+ referencedRelation: "monteurs";
24186
+ referencedColumns: ["id"];
22499
24187
  }];
22500
24188
  };
22501
24189
  work_order_monteurs: {
@@ -23214,6 +24902,21 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
23214
24902
  };
23215
24903
  Returns: string;
23216
24904
  };
24905
+ ai_usage_by_module: {
24906
+ Args: {
24907
+ _from: string;
24908
+ _to: string;
24909
+ };
24910
+ Returns: {
24911
+ calls: number;
24912
+ consumer_module_id: string;
24913
+ cost_usd: number;
24914
+ errors: number;
24915
+ input_tokens: number;
24916
+ output_tokens: number;
24917
+ total_tokens: number;
24918
+ }[];
24919
+ };
23217
24920
  apply_stock_consumption: {
23218
24921
  Args: {
23219
24922
  p_order_id: string;
@@ -23362,6 +25065,12 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
23362
25065
  Args: never;
23363
25066
  Returns: string;
23364
25067
  };
25068
+ custom_access_token_hook: {
25069
+ Args: {
25070
+ event: import("../integrations/supabase/types").Json;
25071
+ };
25072
+ Returns: import("../integrations/supabase/types").Json;
25073
+ };
23365
25074
  dashboard_alert_counts: {
23366
25075
  Args: never;
23367
25076
  Returns: import("../integrations/supabase/types").Json;
@@ -23697,6 +25406,14 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
23697
25406
  };
23698
25407
  Returns: string;
23699
25408
  };
25409
+ has_module_permission: {
25410
+ Args: {
25411
+ _min: string;
25412
+ _module_id: string;
25413
+ _user_id: string;
25414
+ };
25415
+ Returns: boolean;
25416
+ };
23700
25417
  has_role: {
23701
25418
  Args: {
23702
25419
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -23722,6 +25439,20 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
23722
25439
  };
23723
25440
  Returns: boolean;
23724
25441
  };
25442
+ jwt_has_role: {
25443
+ Args: {
25444
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
25445
+ };
25446
+ Returns: boolean;
25447
+ };
25448
+ list_monteurs: {
25449
+ Args: never;
25450
+ Returns: {
25451
+ display_name: string;
25452
+ email: string;
25453
+ user_id: string;
25454
+ }[];
25455
+ };
23725
25456
  local_effective_price: {
23726
25457
  Args: {
23727
25458
  _customer_id: string;
@@ -23738,6 +25469,22 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
23738
25469
  source_id: string;
23739
25470
  }[];
23740
25471
  };
25472
+ log_ai_call: {
25473
+ Args: {
25474
+ _consumer_module_id: string;
25475
+ _cost_usd: number;
25476
+ _duration_ms: number;
25477
+ _error_code: string;
25478
+ _error_message: string;
25479
+ _input_tokens: number;
25480
+ _model_slug: string;
25481
+ _output_tokens: number;
25482
+ _provider_slug: string;
25483
+ _status: string;
25484
+ _total_tokens: number;
25485
+ };
25486
+ Returns: string;
25487
+ };
23741
25488
  mark_offer_clicked: {
23742
25489
  Args: {
23743
25490
  p_code: string;
@@ -23750,6 +25497,12 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
23750
25497
  };
23751
25498
  Returns: undefined;
23752
25499
  };
25500
+ mark_shipment_shipped: {
25501
+ Args: {
25502
+ p_shipment_id: string;
25503
+ };
25504
+ Returns: undefined;
25505
+ };
23753
25506
  next_order_number: {
23754
25507
  Args: {
23755
25508
  p_prefix: string;
@@ -24226,9 +25979,12 @@ export declare const listDeliveryLocations: import("@tanstack/start-client-core"
24226
25979
  };
24227
25980
  };
24228
25981
  Enums: {
24229
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
25982
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
24230
25983
  exact_env: "staging" | "live";
24231
25984
  exact_push_status: "pending" | "sent" | "error";
25985
+ itk_customer_segment: "Business" | "Private";
25986
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
25987
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
24232
25988
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
24233
25989
  };
24234
25990
  CompositeTypes: { [_ in never]: never; };
@@ -24543,6 +26299,57 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
24543
26299
  referencedColumns: ["id"];
24544
26300
  }];
24545
26301
  };
26302
+ ai_call_log: {
26303
+ Row: {
26304
+ consumer_module_id: string;
26305
+ cost_usd: number | null;
26306
+ created_at: string;
26307
+ created_by: string | null;
26308
+ duration_ms: number | null;
26309
+ error_code: string | null;
26310
+ error_message: string | null;
26311
+ id: string;
26312
+ input_tokens: number;
26313
+ model_slug: string | null;
26314
+ output_tokens: number;
26315
+ provider_slug: string | null;
26316
+ status: string;
26317
+ total_tokens: number;
26318
+ };
26319
+ Insert: {
26320
+ consumer_module_id: string;
26321
+ cost_usd?: number | null;
26322
+ created_at?: string;
26323
+ created_by?: string | null;
26324
+ duration_ms?: number | null;
26325
+ error_code?: string | null;
26326
+ error_message?: string | null;
26327
+ id?: string;
26328
+ input_tokens?: number;
26329
+ model_slug?: string | null;
26330
+ output_tokens?: number;
26331
+ provider_slug?: string | null;
26332
+ status: string;
26333
+ total_tokens?: number;
26334
+ };
26335
+ Update: {
26336
+ consumer_module_id?: string;
26337
+ cost_usd?: number | null;
26338
+ created_at?: string;
26339
+ created_by?: string | null;
26340
+ duration_ms?: number | null;
26341
+ error_code?: string | null;
26342
+ error_message?: string | null;
26343
+ id?: string;
26344
+ input_tokens?: number;
26345
+ model_slug?: string | null;
26346
+ output_tokens?: number;
26347
+ provider_slug?: string | null;
26348
+ status?: string;
26349
+ total_tokens?: number;
26350
+ };
26351
+ Relationships: [];
26352
+ };
24546
26353
  ai_credentials: {
24547
26354
  Row: {
24548
26355
  active: boolean;
@@ -24579,6 +26386,36 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
24579
26386
  referencedColumns: ["id"];
24580
26387
  }];
24581
26388
  };
26389
+ ai_goals: {
26390
+ Row: {
26391
+ active: boolean;
26392
+ created_at: string;
26393
+ description: string | null;
26394
+ key: string;
26395
+ label: string;
26396
+ sort_order: number;
26397
+ updated_at: string;
26398
+ };
26399
+ Insert: {
26400
+ active?: boolean;
26401
+ created_at?: string;
26402
+ description?: string | null;
26403
+ key: string;
26404
+ label: string;
26405
+ sort_order?: number;
26406
+ updated_at?: string;
26407
+ };
26408
+ Update: {
26409
+ active?: boolean;
26410
+ created_at?: string;
26411
+ description?: string | null;
26412
+ key?: string;
26413
+ label?: string;
26414
+ sort_order?: number;
26415
+ updated_at?: string;
26416
+ };
26417
+ Relationships: [];
26418
+ };
24582
26419
  ai_model_pricing: {
24583
26420
  Row: {
24584
26421
  created_at: string;
@@ -25365,6 +27202,141 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
25365
27202
  };
25366
27203
  Relationships: [];
25367
27204
  };
27205
+ cart_planning_pick_times: {
27206
+ Row: {
27207
+ created_at: string;
27208
+ id: string;
27209
+ pot_size: string;
27210
+ seconds_per_cart: number;
27211
+ updated_at: string;
27212
+ };
27213
+ Insert: {
27214
+ created_at?: string;
27215
+ id?: string;
27216
+ pot_size: string;
27217
+ seconds_per_cart: number;
27218
+ updated_at?: string;
27219
+ };
27220
+ Update: {
27221
+ created_at?: string;
27222
+ id?: string;
27223
+ pot_size?: string;
27224
+ seconds_per_cart?: number;
27225
+ updated_at?: string;
27226
+ };
27227
+ Relationships: [];
27228
+ };
27229
+ cart_planning_product_overrides: {
27230
+ Row: {
27231
+ created_at: string;
27232
+ id: string;
27233
+ max_party_share_per_layer_pct_override: number | null;
27234
+ never_mix: boolean;
27235
+ notes: string | null;
27236
+ product_id: string;
27237
+ updated_at: string;
27238
+ };
27239
+ Insert: {
27240
+ created_at?: string;
27241
+ id?: string;
27242
+ max_party_share_per_layer_pct_override?: number | null;
27243
+ never_mix?: boolean;
27244
+ notes?: string | null;
27245
+ product_id: string;
27246
+ updated_at?: string;
27247
+ };
27248
+ Update: {
27249
+ created_at?: string;
27250
+ id?: string;
27251
+ max_party_share_per_layer_pct_override?: number | null;
27252
+ never_mix?: boolean;
27253
+ notes?: string | null;
27254
+ product_id?: string;
27255
+ updated_at?: string;
27256
+ };
27257
+ Relationships: [{
27258
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
27259
+ columns: ["product_id"];
27260
+ isOneToOne: true;
27261
+ referencedRelation: "products";
27262
+ referencedColumns: ["id"];
27263
+ }];
27264
+ };
27265
+ cart_planning_settings: {
27266
+ Row: {
27267
+ allow_editing_after_pickstation_send: boolean;
27268
+ buffer_grouping_mode: string;
27269
+ combine_floriday_orders: boolean;
27270
+ combine_floriday_orders_window: string;
27271
+ combine_orders_scope: string;
27272
+ default_workers: number;
27273
+ id: number;
27274
+ max_beladingen_per_layer: number;
27275
+ max_customers_per_cart: number;
27276
+ max_one_customer_per_layer: boolean;
27277
+ max_party_share_per_layer_pct: number;
27278
+ optimization_strategy: string;
27279
+ own_cart_from_layers: number;
27280
+ pick_time_mode: string;
27281
+ plants_per_day: number;
27282
+ plants_per_hour: number;
27283
+ require_same_carrier: boolean;
27284
+ require_same_crate_type: boolean;
27285
+ require_same_delivery_date: boolean;
27286
+ require_same_delivery_location: boolean;
27287
+ updated_at: string;
27288
+ updated_by: string | null;
27289
+ };
27290
+ Insert: {
27291
+ allow_editing_after_pickstation_send?: boolean;
27292
+ buffer_grouping_mode?: string;
27293
+ combine_floriday_orders?: boolean;
27294
+ combine_floriday_orders_window?: string;
27295
+ combine_orders_scope?: string;
27296
+ default_workers?: number;
27297
+ id?: number;
27298
+ max_beladingen_per_layer?: number;
27299
+ max_customers_per_cart?: number;
27300
+ max_one_customer_per_layer?: boolean;
27301
+ max_party_share_per_layer_pct?: number;
27302
+ optimization_strategy?: string;
27303
+ own_cart_from_layers?: number;
27304
+ pick_time_mode?: string;
27305
+ plants_per_day?: number;
27306
+ plants_per_hour?: number;
27307
+ require_same_carrier?: boolean;
27308
+ require_same_crate_type?: boolean;
27309
+ require_same_delivery_date?: boolean;
27310
+ require_same_delivery_location?: boolean;
27311
+ updated_at?: string;
27312
+ updated_by?: string | null;
27313
+ };
27314
+ Update: {
27315
+ allow_editing_after_pickstation_send?: boolean;
27316
+ buffer_grouping_mode?: string;
27317
+ combine_floriday_orders?: boolean;
27318
+ combine_floriday_orders_window?: string;
27319
+ combine_orders_scope?: string;
27320
+ default_workers?: number;
27321
+ id?: number;
27322
+ max_beladingen_per_layer?: number;
27323
+ max_customers_per_cart?: number;
27324
+ max_one_customer_per_layer?: boolean;
27325
+ max_party_share_per_layer_pct?: number;
27326
+ optimization_strategy?: string;
27327
+ own_cart_from_layers?: number;
27328
+ pick_time_mode?: string;
27329
+ plants_per_day?: number;
27330
+ plants_per_hour?: number;
27331
+ require_same_carrier?: boolean;
27332
+ require_same_crate_type?: boolean;
27333
+ require_same_delivery_date?: boolean;
27334
+ require_same_delivery_location?: boolean;
27335
+ updated_at?: string;
27336
+ updated_by?: string | null;
27337
+ };
27338
+ Relationships: [];
27339
+ };
25368
27340
  cart_replan_queue: {
25369
27341
  Row: {
25370
27342
  attempts: number;
@@ -25395,6 +27367,39 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
25395
27367
  referencedColumns: ["id"];
25396
27368
  }];
25397
27369
  };
27370
+ cart_types: {
27371
+ Row: {
27372
+ created_at: string;
27373
+ id: string;
27374
+ is_default: boolean;
27375
+ layer_length_cm: number;
27376
+ layer_width_cm: number;
27377
+ layers_per_cart: number;
27378
+ name: string;
27379
+ updated_at: string;
27380
+ };
27381
+ Insert: {
27382
+ created_at?: string;
27383
+ id?: string;
27384
+ is_default?: boolean;
27385
+ layer_length_cm: number;
27386
+ layer_width_cm: number;
27387
+ layers_per_cart?: number;
27388
+ name: string;
27389
+ updated_at?: string;
27390
+ };
27391
+ Update: {
27392
+ created_at?: string;
27393
+ id?: string;
27394
+ is_default?: boolean;
27395
+ layer_length_cm?: number;
27396
+ layer_width_cm?: number;
27397
+ layers_per_cart?: number;
27398
+ name?: string;
27399
+ updated_at?: string;
27400
+ };
27401
+ Relationships: [];
27402
+ };
25398
27403
  catalog_articles_cache: {
25399
27404
  Row: {
25400
27405
  created_at: string;
@@ -25482,6 +27487,36 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
25482
27487
  };
25483
27488
  Relationships: [];
25484
27489
  };
27490
+ crate_types: {
27491
+ Row: {
27492
+ created_at: string;
27493
+ id: string;
27494
+ length_cm: number;
27495
+ name: string;
27496
+ plants_per_crate: number;
27497
+ updated_at: string;
27498
+ width_cm: number;
27499
+ };
27500
+ Insert: {
27501
+ created_at?: string;
27502
+ id?: string;
27503
+ length_cm: number;
27504
+ name: string;
27505
+ plants_per_crate?: number;
27506
+ updated_at?: string;
27507
+ width_cm: number;
27508
+ };
27509
+ Update: {
27510
+ created_at?: string;
27511
+ id?: string;
27512
+ length_cm?: number;
27513
+ name?: string;
27514
+ plants_per_crate?: number;
27515
+ updated_at?: string;
27516
+ width_cm?: number;
27517
+ };
27518
+ Relationships: [];
27519
+ };
25485
27520
  customer_audit_log: {
25486
27521
  Row: {
25487
27522
  action: string;
@@ -30021,6 +32056,288 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
30021
32056
  };
30022
32057
  Relationships: [];
30023
32058
  };
32059
+ itk_contact_persons: {
32060
+ Row: {
32061
+ created_at: string;
32062
+ customer_id: string;
32063
+ email: string | null;
32064
+ id: string;
32065
+ name: string;
32066
+ phone: string | null;
32067
+ role: string | null;
32068
+ updated_at: string;
32069
+ };
32070
+ Insert: {
32071
+ created_at?: string;
32072
+ customer_id: string;
32073
+ email?: string | null;
32074
+ id?: string;
32075
+ name: string;
32076
+ phone?: string | null;
32077
+ role?: string | null;
32078
+ updated_at?: string;
32079
+ };
32080
+ Update: {
32081
+ created_at?: string;
32082
+ customer_id?: string;
32083
+ email?: string | null;
32084
+ id?: string;
32085
+ name?: string;
32086
+ phone?: string | null;
32087
+ role?: string | null;
32088
+ updated_at?: string;
32089
+ };
32090
+ Relationships: [{
32091
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
32092
+ columns: ["customer_id"];
32093
+ isOneToOne: false;
32094
+ referencedRelation: "itk_customers";
32095
+ referencedColumns: ["id"];
32096
+ }];
32097
+ };
32098
+ itk_customer_dynamic_values: {
32099
+ Row: {
32100
+ created_at: string;
32101
+ customer_id: string;
32102
+ field_id: string;
32103
+ id: string;
32104
+ updated_at: string;
32105
+ value: string | null;
32106
+ };
32107
+ Insert: {
32108
+ created_at?: string;
32109
+ customer_id: string;
32110
+ field_id: string;
32111
+ id?: string;
32112
+ updated_at?: string;
32113
+ value?: string | null;
32114
+ };
32115
+ Update: {
32116
+ created_at?: string;
32117
+ customer_id?: string;
32118
+ field_id?: string;
32119
+ id?: string;
32120
+ updated_at?: string;
32121
+ value?: string | null;
32122
+ };
32123
+ Relationships: [{
32124
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
32125
+ columns: ["customer_id"];
32126
+ isOneToOne: false;
32127
+ referencedRelation: "itk_customers";
32128
+ referencedColumns: ["id"];
32129
+ }, {
32130
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
32131
+ columns: ["field_id"];
32132
+ isOneToOne: false;
32133
+ referencedRelation: "itk_dynamic_fields";
32134
+ referencedColumns: ["id"];
32135
+ }];
32136
+ };
32137
+ itk_customer_notes: {
32138
+ Row: {
32139
+ body: string;
32140
+ created_at: string;
32141
+ created_by: string | null;
32142
+ customer_id: string;
32143
+ id: string;
32144
+ note_type: string;
32145
+ updated_at: string;
32146
+ };
32147
+ Insert: {
32148
+ body: string;
32149
+ created_at?: string;
32150
+ created_by?: string | null;
32151
+ customer_id: string;
32152
+ id?: string;
32153
+ note_type?: string;
32154
+ updated_at?: string;
32155
+ };
32156
+ Update: {
32157
+ body?: string;
32158
+ created_at?: string;
32159
+ created_by?: string | null;
32160
+ customer_id?: string;
32161
+ id?: string;
32162
+ note_type?: string;
32163
+ updated_at?: string;
32164
+ };
32165
+ Relationships: [{
32166
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
32167
+ columns: ["customer_id"];
32168
+ isOneToOne: false;
32169
+ referencedRelation: "itk_customers";
32170
+ referencedColumns: ["id"];
32171
+ }];
32172
+ };
32173
+ itk_customers: {
32174
+ Row: {
32175
+ billing_city: string | null;
32176
+ billing_postcode: string | null;
32177
+ billing_street: string | null;
32178
+ created_at: string;
32179
+ general_email: string | null;
32180
+ general_phone: string | null;
32181
+ id: string;
32182
+ legacy_customer_id: string | null;
32183
+ name: string;
32184
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
32185
+ updated_at: string;
32186
+ };
32187
+ Insert: {
32188
+ billing_city?: string | null;
32189
+ billing_postcode?: string | null;
32190
+ billing_street?: string | null;
32191
+ created_at?: string;
32192
+ general_email?: string | null;
32193
+ general_phone?: string | null;
32194
+ id?: string;
32195
+ legacy_customer_id?: string | null;
32196
+ name: string;
32197
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
32198
+ updated_at?: string;
32199
+ };
32200
+ Update: {
32201
+ billing_city?: string | null;
32202
+ billing_postcode?: string | null;
32203
+ billing_street?: string | null;
32204
+ created_at?: string;
32205
+ general_email?: string | null;
32206
+ general_phone?: string | null;
32207
+ id?: string;
32208
+ legacy_customer_id?: string | null;
32209
+ name?: string;
32210
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
32211
+ updated_at?: string;
32212
+ };
32213
+ Relationships: [{
32214
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
32215
+ columns: ["legacy_customer_id"];
32216
+ isOneToOne: false;
32217
+ referencedRelation: "customers";
32218
+ referencedColumns: ["id"];
32219
+ }];
32220
+ };
32221
+ itk_dynamic_fields: {
32222
+ Row: {
32223
+ created_at: string;
32224
+ field_name: string;
32225
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
32226
+ id: string;
32227
+ options: import("../integrations/supabase/types").Json;
32228
+ sort_order: number;
32229
+ updated_at: string;
32230
+ };
32231
+ Insert: {
32232
+ created_at?: string;
32233
+ field_name: string;
32234
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
32235
+ id?: string;
32236
+ options?: import("../integrations/supabase/types").Json;
32237
+ sort_order?: number;
32238
+ updated_at?: string;
32239
+ };
32240
+ Update: {
32241
+ created_at?: string;
32242
+ field_name?: string;
32243
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
32244
+ id?: string;
32245
+ options?: import("../integrations/supabase/types").Json;
32246
+ sort_order?: number;
32247
+ updated_at?: string;
32248
+ };
32249
+ Relationships: [];
32250
+ };
32251
+ itk_work_locations: {
32252
+ Row: {
32253
+ city: string | null;
32254
+ created_at: string;
32255
+ customer_id: string;
32256
+ id: string;
32257
+ instructions: string | null;
32258
+ label: string;
32259
+ latitude: number | null;
32260
+ longitude: number | null;
32261
+ postcode: string | null;
32262
+ street: string | null;
32263
+ updated_at: string;
32264
+ };
32265
+ Insert: {
32266
+ city?: string | null;
32267
+ created_at?: string;
32268
+ customer_id: string;
32269
+ id?: string;
32270
+ instructions?: string | null;
32271
+ label: string;
32272
+ latitude?: number | null;
32273
+ longitude?: number | null;
32274
+ postcode?: string | null;
32275
+ street?: string | null;
32276
+ updated_at?: string;
32277
+ };
32278
+ Update: {
32279
+ city?: string | null;
32280
+ created_at?: string;
32281
+ customer_id?: string;
32282
+ id?: string;
32283
+ instructions?: string | null;
32284
+ label?: string;
32285
+ latitude?: number | null;
32286
+ longitude?: number | null;
32287
+ postcode?: string | null;
32288
+ street?: string | null;
32289
+ updated_at?: string;
32290
+ };
32291
+ Relationships: [{
32292
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
32293
+ columns: ["customer_id"];
32294
+ isOneToOne: false;
32295
+ referencedRelation: "itk_customers";
32296
+ referencedColumns: ["id"];
32297
+ }];
32298
+ };
32299
+ leave_requests: {
32300
+ Row: {
32301
+ created_at: string;
32302
+ end_date: string;
32303
+ id: string;
32304
+ reason: string | null;
32305
+ start_date: string;
32306
+ status: string;
32307
+ tenant_id: string;
32308
+ updated_at: string;
32309
+ user_id: string;
32310
+ };
32311
+ Insert: {
32312
+ created_at?: string;
32313
+ end_date: string;
32314
+ id?: string;
32315
+ reason?: string | null;
32316
+ start_date: string;
32317
+ status?: string;
32318
+ tenant_id?: string;
32319
+ updated_at?: string;
32320
+ user_id: string;
32321
+ };
32322
+ Update: {
32323
+ created_at?: string;
32324
+ end_date?: string;
32325
+ id?: string;
32326
+ reason?: string | null;
32327
+ start_date?: string;
32328
+ status?: string;
32329
+ tenant_id?: string;
32330
+ updated_at?: string;
32331
+ user_id?: string;
32332
+ };
32333
+ Relationships: [{
32334
+ foreignKeyName: "leave_requests_user_id_fkey";
32335
+ columns: ["user_id"];
32336
+ isOneToOne: false;
32337
+ referencedRelation: "monteurs";
32338
+ referencedColumns: ["id"];
32339
+ }];
32340
+ };
30024
32341
  local_customer_agreements: {
30025
32342
  Row: {
30026
32343
  base_price: number | null;
@@ -30672,6 +32989,33 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
30672
32989
  };
30673
32990
  Relationships: [];
30674
32991
  };
32992
+ module_permissions: {
32993
+ Row: {
32994
+ created_at: string;
32995
+ id: string;
32996
+ module_id: string;
32997
+ permission: string;
32998
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
32999
+ updated_at: string;
33000
+ };
33001
+ Insert: {
33002
+ created_at?: string;
33003
+ id?: string;
33004
+ module_id: string;
33005
+ permission: string;
33006
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
33007
+ updated_at?: string;
33008
+ };
33009
+ Update: {
33010
+ created_at?: string;
33011
+ id?: string;
33012
+ module_id?: string;
33013
+ permission?: string;
33014
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
33015
+ updated_at?: string;
33016
+ };
33017
+ Relationships: [];
33018
+ };
30675
33019
  monteurs: {
30676
33020
  Row: {
30677
33021
  avatar_url: string | null;
@@ -31401,6 +33745,42 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31401
33745
  };
31402
33746
  Relationships: [];
31403
33747
  };
33748
+ order_buffers: {
33749
+ Row: {
33750
+ buffer_key: string;
33751
+ created_at: string;
33752
+ customer_id: string | null;
33753
+ grouping_mode: string;
33754
+ id: string;
33755
+ pickup_date: string | null;
33756
+ pickup_location: string | null;
33757
+ plan_locked_at: string | null;
33758
+ updated_at: string;
33759
+ };
33760
+ Insert: {
33761
+ buffer_key: string;
33762
+ created_at?: string;
33763
+ customer_id?: string | null;
33764
+ grouping_mode: string;
33765
+ id?: string;
33766
+ pickup_date?: string | null;
33767
+ pickup_location?: string | null;
33768
+ plan_locked_at?: string | null;
33769
+ updated_at?: string;
33770
+ };
33771
+ Update: {
33772
+ buffer_key?: string;
33773
+ created_at?: string;
33774
+ customer_id?: string | null;
33775
+ grouping_mode?: string;
33776
+ id?: string;
33777
+ pickup_date?: string | null;
33778
+ pickup_location?: string | null;
33779
+ plan_locked_at?: string | null;
33780
+ updated_at?: string;
33781
+ };
33782
+ Relationships: [];
33783
+ };
31404
33784
  order_cart_items: {
31405
33785
  Row: {
31406
33786
  cart_id: string;
@@ -31467,6 +33847,7 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31467
33847
  order_carts: {
31468
33848
  Row: {
31469
33849
  algorithm_version: number;
33850
+ buffer_id: string | null;
31470
33851
  cart_number: number;
31471
33852
  created_at: string;
31472
33853
  id: string;
@@ -31474,13 +33855,14 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31474
33855
  is_complete: boolean;
31475
33856
  notes: string | null;
31476
33857
  occupancy_pct: number;
31477
- order_id: string;
33858
+ order_id: string | null;
31478
33859
  source: string;
31479
33860
  total_layers_used: number;
31480
33861
  updated_at: string;
31481
33862
  };
31482
33863
  Insert: {
31483
33864
  algorithm_version?: number;
33865
+ buffer_id?: string | null;
31484
33866
  cart_number: number;
31485
33867
  created_at?: string;
31486
33868
  id?: string;
@@ -31488,13 +33870,14 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31488
33870
  is_complete?: boolean;
31489
33871
  notes?: string | null;
31490
33872
  occupancy_pct?: number;
31491
- order_id: string;
33873
+ order_id?: string | null;
31492
33874
  source?: string;
31493
33875
  total_layers_used?: number;
31494
33876
  updated_at?: string;
31495
33877
  };
31496
33878
  Update: {
31497
33879
  algorithm_version?: number;
33880
+ buffer_id?: string | null;
31498
33881
  cart_number?: number;
31499
33882
  created_at?: string;
31500
33883
  id?: string;
@@ -31502,12 +33885,18 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31502
33885
  is_complete?: boolean;
31503
33886
  notes?: string | null;
31504
33887
  occupancy_pct?: number;
31505
- order_id?: string;
33888
+ order_id?: string | null;
31506
33889
  source?: string;
31507
33890
  total_layers_used?: number;
31508
33891
  updated_at?: string;
31509
33892
  };
31510
33893
  Relationships: [{
33894
+ foreignKeyName: "order_carts_buffer_id_fkey";
33895
+ columns: ["buffer_id"];
33896
+ isOneToOne: false;
33897
+ referencedRelation: "order_buffers";
33898
+ referencedColumns: ["id"];
33899
+ }, {
31511
33900
  foreignKeyName: "order_carts_order_id_fkey";
31512
33901
  columns: ["order_id"];
31513
33902
  isOneToOne: false;
@@ -31644,15 +34033,117 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31644
34033
  };
31645
34034
  Relationships: [];
31646
34035
  };
34036
+ order_shipment_items: {
34037
+ Row: {
34038
+ created_at: string;
34039
+ id: string;
34040
+ order_item_id: string;
34041
+ product_id: string | null;
34042
+ product_name: string;
34043
+ quantity: number;
34044
+ shipment_id: string;
34045
+ updated_at: string;
34046
+ };
34047
+ Insert: {
34048
+ created_at?: string;
34049
+ id?: string;
34050
+ order_item_id: string;
34051
+ product_id?: string | null;
34052
+ product_name: string;
34053
+ quantity: number;
34054
+ shipment_id: string;
34055
+ updated_at?: string;
34056
+ };
34057
+ Update: {
34058
+ created_at?: string;
34059
+ id?: string;
34060
+ order_item_id?: string;
34061
+ product_id?: string | null;
34062
+ product_name?: string;
34063
+ quantity?: number;
34064
+ shipment_id?: string;
34065
+ updated_at?: string;
34066
+ };
34067
+ Relationships: [{
34068
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
34069
+ columns: ["order_item_id"];
34070
+ isOneToOne: false;
34071
+ referencedRelation: "order_items";
34072
+ referencedColumns: ["id"];
34073
+ }, {
34074
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
34075
+ columns: ["shipment_id"];
34076
+ isOneToOne: false;
34077
+ referencedRelation: "order_shipments";
34078
+ referencedColumns: ["id"];
34079
+ }];
34080
+ };
34081
+ order_shipments: {
34082
+ Row: {
34083
+ carrier_id: string | null;
34084
+ created_at: string;
34085
+ delivery_date: string | null;
34086
+ delivery_location_id: string | null;
34087
+ id: string;
34088
+ notes: string | null;
34089
+ order_id: string;
34090
+ shipment_number: number;
34091
+ shipped_at: string | null;
34092
+ status: string;
34093
+ updated_at: string;
34094
+ };
34095
+ Insert: {
34096
+ carrier_id?: string | null;
34097
+ created_at?: string;
34098
+ delivery_date?: string | null;
34099
+ delivery_location_id?: string | null;
34100
+ id?: string;
34101
+ notes?: string | null;
34102
+ order_id: string;
34103
+ shipment_number: number;
34104
+ shipped_at?: string | null;
34105
+ status?: string;
34106
+ updated_at?: string;
34107
+ };
34108
+ Update: {
34109
+ carrier_id?: string | null;
34110
+ created_at?: string;
34111
+ delivery_date?: string | null;
34112
+ delivery_location_id?: string | null;
34113
+ id?: string;
34114
+ notes?: string | null;
34115
+ order_id?: string;
34116
+ shipment_number?: number;
34117
+ shipped_at?: string | null;
34118
+ status?: string;
34119
+ updated_at?: string;
34120
+ };
34121
+ Relationships: [{
34122
+ foreignKeyName: "order_shipments_carrier_id_fkey";
34123
+ columns: ["carrier_id"];
34124
+ isOneToOne: false;
34125
+ referencedRelation: "carriers";
34126
+ referencedColumns: ["id"];
34127
+ }, {
34128
+ foreignKeyName: "order_shipments_order_id_fkey";
34129
+ columns: ["order_id"];
34130
+ isOneToOne: false;
34131
+ referencedRelation: "orders";
34132
+ referencedColumns: ["id"];
34133
+ }];
34134
+ };
31647
34135
  orders: {
31648
34136
  Row: {
34137
+ buffer_id: string | null;
31649
34138
  created_at: string;
31650
34139
  custom_fields: import("../integrations/supabase/types").Json;
31651
34140
  customer_id: string | null;
31652
34141
  customer_name: string;
31653
34142
  deleted_at: string | null;
31654
- delivery_date: string;
34143
+ delivery_date: string | null;
34144
+ floriday_sales_order_id: string | null;
31655
34145
  id: string;
34146
+ is_reservation: boolean;
31656
34147
  notes: string | null;
31657
34148
  order_date: string;
31658
34149
  order_number: string;
@@ -31664,13 +34155,16 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31664
34155
  updated_at: string;
31665
34156
  };
31666
34157
  Insert: {
34158
+ buffer_id?: string | null;
31667
34159
  created_at?: string;
31668
34160
  custom_fields?: import("../integrations/supabase/types").Json;
31669
34161
  customer_id?: string | null;
31670
34162
  customer_name?: string;
31671
34163
  deleted_at?: string | null;
31672
- delivery_date: string;
34164
+ delivery_date?: string | null;
34165
+ floriday_sales_order_id?: string | null;
31673
34166
  id?: string;
34167
+ is_reservation?: boolean;
31674
34168
  notes?: string | null;
31675
34169
  order_date?: string;
31676
34170
  order_number: string;
@@ -31682,13 +34176,16 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31682
34176
  updated_at?: string;
31683
34177
  };
31684
34178
  Update: {
34179
+ buffer_id?: string | null;
31685
34180
  created_at?: string;
31686
34181
  custom_fields?: import("../integrations/supabase/types").Json;
31687
34182
  customer_id?: string | null;
31688
34183
  customer_name?: string;
31689
34184
  deleted_at?: string | null;
31690
- delivery_date?: string;
34185
+ delivery_date?: string | null;
34186
+ floriday_sales_order_id?: string | null;
31691
34187
  id?: string;
34188
+ is_reservation?: boolean;
31692
34189
  notes?: string | null;
31693
34190
  order_date?: string;
31694
34191
  order_number?: string;
@@ -31700,6 +34197,12 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31700
34197
  updated_at?: string;
31701
34198
  };
31702
34199
  Relationships: [{
34200
+ foreignKeyName: "orders_buffer_id_fkey";
34201
+ columns: ["buffer_id"];
34202
+ isOneToOne: false;
34203
+ referencedRelation: "order_buffers";
34204
+ referencedColumns: ["id"];
34205
+ }, {
31703
34206
  foreignKeyName: "orders_customer_id_fkey";
31704
34207
  columns: ["customer_id"];
31705
34208
  isOneToOne: false;
@@ -31830,6 +34333,51 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31830
34333
  };
31831
34334
  Relationships: [];
31832
34335
  };
34336
+ planning_items: {
34337
+ Row: {
34338
+ assigned_monteur_id: string;
34339
+ created_at: string;
34340
+ created_by: string | null;
34341
+ end_at: string;
34342
+ id: string;
34343
+ notes: string | null;
34344
+ start_at: string;
34345
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
34346
+ updated_at: string;
34347
+ werkbon_id: string;
34348
+ };
34349
+ Insert: {
34350
+ assigned_monteur_id: string;
34351
+ created_at?: string;
34352
+ created_by?: string | null;
34353
+ end_at: string;
34354
+ id?: string;
34355
+ notes?: string | null;
34356
+ start_at: string;
34357
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
34358
+ updated_at?: string;
34359
+ werkbon_id: string;
34360
+ };
34361
+ Update: {
34362
+ assigned_monteur_id?: string;
34363
+ created_at?: string;
34364
+ created_by?: string | null;
34365
+ end_at?: string;
34366
+ id?: string;
34367
+ notes?: string | null;
34368
+ start_at?: string;
34369
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
34370
+ updated_at?: string;
34371
+ werkbon_id?: string;
34372
+ };
34373
+ Relationships: [{
34374
+ foreignKeyName: "planning_items_werkbon_id_fkey";
34375
+ columns: ["werkbon_id"];
34376
+ isOneToOne: false;
34377
+ referencedRelation: "werkbonnen";
34378
+ referencedColumns: ["id"];
34379
+ }];
34380
+ };
31833
34381
  product_categories: {
31834
34382
  Row: {
31835
34383
  color: string;
@@ -31963,6 +34511,8 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31963
34511
  Row: {
31964
34512
  created_at: string;
31965
34513
  description: string | null;
34514
+ head_product_id: string | null;
34515
+ head_trade_item_floriday_id: string | null;
31966
34516
  id: string;
31967
34517
  is_active: boolean;
31968
34518
  name: string;
@@ -31972,6 +34522,8 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31972
34522
  Insert: {
31973
34523
  created_at?: string;
31974
34524
  description?: string | null;
34525
+ head_product_id?: string | null;
34526
+ head_trade_item_floriday_id?: string | null;
31975
34527
  id?: string;
31976
34528
  is_active?: boolean;
31977
34529
  name: string;
@@ -31981,13 +34533,21 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
31981
34533
  Update: {
31982
34534
  created_at?: string;
31983
34535
  description?: string | null;
34536
+ head_product_id?: string | null;
34537
+ head_trade_item_floriday_id?: string | null;
31984
34538
  id?: string;
31985
34539
  is_active?: boolean;
31986
34540
  name?: string;
31987
34541
  tenant_id?: string;
31988
34542
  updated_at?: string;
31989
34543
  };
31990
- Relationships: [];
34544
+ Relationships: [{
34545
+ foreignKeyName: "product_groups_head_product_id_fkey";
34546
+ columns: ["head_product_id"];
34547
+ isOneToOne: false;
34548
+ referencedRelation: "products";
34549
+ referencedColumns: ["id"];
34550
+ }];
31991
34551
  };
31992
34552
  products: {
31993
34553
  Row: {
@@ -34538,6 +37098,7 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
34538
37098
  internal_notes: string | null;
34539
37099
  parent_werkbon_id: string | null;
34540
37100
  parsed_payload: import("../integrations/supabase/types").Json | null;
37101
+ planning_status: string;
34541
37102
  project_number: string | null;
34542
37103
  room_number: string | null;
34543
37104
  scheduled_end_time: string | null;
@@ -34545,6 +37106,7 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
34545
37106
  sequence_number: number;
34546
37107
  source_pdf_path: string | null;
34547
37108
  status: string;
37109
+ technician_id: string | null;
34548
37110
  technician_notes: string | null;
34549
37111
  technician_notes_raw: string | null;
34550
37112
  technician_task_description: string | null;
@@ -34565,6 +37127,7 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
34565
37127
  internal_notes?: string | null;
34566
37128
  parent_werkbon_id?: string | null;
34567
37129
  parsed_payload?: import("../integrations/supabase/types").Json | null;
37130
+ planning_status?: string;
34568
37131
  project_number?: string | null;
34569
37132
  room_number?: string | null;
34570
37133
  scheduled_end_time?: string | null;
@@ -34572,6 +37135,7 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
34572
37135
  sequence_number: number;
34573
37136
  source_pdf_path?: string | null;
34574
37137
  status?: string;
37138
+ technician_id?: string | null;
34575
37139
  technician_notes?: string | null;
34576
37140
  technician_notes_raw?: string | null;
34577
37141
  technician_task_description?: string | null;
@@ -34592,6 +37156,7 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
34592
37156
  internal_notes?: string | null;
34593
37157
  parent_werkbon_id?: string | null;
34594
37158
  parsed_payload?: import("../integrations/supabase/types").Json | null;
37159
+ planning_status?: string;
34595
37160
  project_number?: string | null;
34596
37161
  room_number?: string | null;
34597
37162
  scheduled_end_time?: string | null;
@@ -34599,6 +37164,7 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
34599
37164
  sequence_number?: number;
34600
37165
  source_pdf_path?: string | null;
34601
37166
  status?: string;
37167
+ technician_id?: string | null;
34602
37168
  technician_notes?: string | null;
34603
37169
  technician_notes_raw?: string | null;
34604
37170
  technician_task_description?: string | null;
@@ -34607,17 +37173,17 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
34607
37173
  work_address?: string | null;
34608
37174
  };
34609
37175
  Relationships: [{
34610
- foreignKeyName: "werkbonnen_customer_id_fkey";
34611
- columns: ["customer_id"];
34612
- isOneToOne: false;
34613
- referencedRelation: "customers";
34614
- referencedColumns: ["id"];
34615
- }, {
34616
37176
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
34617
37177
  columns: ["parent_werkbon_id"];
34618
37178
  isOneToOne: false;
34619
37179
  referencedRelation: "werkbonnen";
34620
37180
  referencedColumns: ["id"];
37181
+ }, {
37182
+ foreignKeyName: "werkbonnen_technician_id_fkey";
37183
+ columns: ["technician_id"];
37184
+ isOneToOne: false;
37185
+ referencedRelation: "monteurs";
37186
+ referencedColumns: ["id"];
34621
37187
  }];
34622
37188
  };
34623
37189
  work_order_monteurs: {
@@ -35336,6 +37902,21 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
35336
37902
  };
35337
37903
  Returns: string;
35338
37904
  };
37905
+ ai_usage_by_module: {
37906
+ Args: {
37907
+ _from: string;
37908
+ _to: string;
37909
+ };
37910
+ Returns: {
37911
+ calls: number;
37912
+ consumer_module_id: string;
37913
+ cost_usd: number;
37914
+ errors: number;
37915
+ input_tokens: number;
37916
+ output_tokens: number;
37917
+ total_tokens: number;
37918
+ }[];
37919
+ };
35339
37920
  apply_stock_consumption: {
35340
37921
  Args: {
35341
37922
  p_order_id: string;
@@ -35484,6 +38065,12 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
35484
38065
  Args: never;
35485
38066
  Returns: string;
35486
38067
  };
38068
+ custom_access_token_hook: {
38069
+ Args: {
38070
+ event: import("../integrations/supabase/types").Json;
38071
+ };
38072
+ Returns: import("../integrations/supabase/types").Json;
38073
+ };
35487
38074
  dashboard_alert_counts: {
35488
38075
  Args: never;
35489
38076
  Returns: import("../integrations/supabase/types").Json;
@@ -35819,6 +38406,14 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
35819
38406
  };
35820
38407
  Returns: string;
35821
38408
  };
38409
+ has_module_permission: {
38410
+ Args: {
38411
+ _min: string;
38412
+ _module_id: string;
38413
+ _user_id: string;
38414
+ };
38415
+ Returns: boolean;
38416
+ };
35822
38417
  has_role: {
35823
38418
  Args: {
35824
38419
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -35844,6 +38439,20 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
35844
38439
  };
35845
38440
  Returns: boolean;
35846
38441
  };
38442
+ jwt_has_role: {
38443
+ Args: {
38444
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
38445
+ };
38446
+ Returns: boolean;
38447
+ };
38448
+ list_monteurs: {
38449
+ Args: never;
38450
+ Returns: {
38451
+ display_name: string;
38452
+ email: string;
38453
+ user_id: string;
38454
+ }[];
38455
+ };
35847
38456
  local_effective_price: {
35848
38457
  Args: {
35849
38458
  _customer_id: string;
@@ -35860,6 +38469,22 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
35860
38469
  source_id: string;
35861
38470
  }[];
35862
38471
  };
38472
+ log_ai_call: {
38473
+ Args: {
38474
+ _consumer_module_id: string;
38475
+ _cost_usd: number;
38476
+ _duration_ms: number;
38477
+ _error_code: string;
38478
+ _error_message: string;
38479
+ _input_tokens: number;
38480
+ _model_slug: string;
38481
+ _output_tokens: number;
38482
+ _provider_slug: string;
38483
+ _status: string;
38484
+ _total_tokens: number;
38485
+ };
38486
+ Returns: string;
38487
+ };
35863
38488
  mark_offer_clicked: {
35864
38489
  Args: {
35865
38490
  p_code: string;
@@ -35872,6 +38497,12 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
35872
38497
  };
35873
38498
  Returns: undefined;
35874
38499
  };
38500
+ mark_shipment_shipped: {
38501
+ Args: {
38502
+ p_shipment_id: string;
38503
+ };
38504
+ Returns: undefined;
38505
+ };
35875
38506
  next_order_number: {
35876
38507
  Args: {
35877
38508
  p_prefix: string;
@@ -36348,9 +38979,12 @@ export declare const upsertDeliveryLocation: import("@tanstack/start-client-core
36348
38979
  };
36349
38980
  };
36350
38981
  Enums: {
36351
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
38982
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
36352
38983
  exact_env: "staging" | "live";
36353
38984
  exact_push_status: "pending" | "sent" | "error";
38985
+ itk_customer_segment: "Business" | "Private";
38986
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
38987
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
36354
38988
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
36355
38989
  };
36356
38990
  CompositeTypes: { [_ in never]: never; };
@@ -36675,6 +39309,57 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
36675
39309
  referencedColumns: ["id"];
36676
39310
  }];
36677
39311
  };
39312
+ ai_call_log: {
39313
+ Row: {
39314
+ consumer_module_id: string;
39315
+ cost_usd: number | null;
39316
+ created_at: string;
39317
+ created_by: string | null;
39318
+ duration_ms: number | null;
39319
+ error_code: string | null;
39320
+ error_message: string | null;
39321
+ id: string;
39322
+ input_tokens: number;
39323
+ model_slug: string | null;
39324
+ output_tokens: number;
39325
+ provider_slug: string | null;
39326
+ status: string;
39327
+ total_tokens: number;
39328
+ };
39329
+ Insert: {
39330
+ consumer_module_id: string;
39331
+ cost_usd?: number | null;
39332
+ created_at?: string;
39333
+ created_by?: string | null;
39334
+ duration_ms?: number | null;
39335
+ error_code?: string | null;
39336
+ error_message?: string | null;
39337
+ id?: string;
39338
+ input_tokens?: number;
39339
+ model_slug?: string | null;
39340
+ output_tokens?: number;
39341
+ provider_slug?: string | null;
39342
+ status: string;
39343
+ total_tokens?: number;
39344
+ };
39345
+ Update: {
39346
+ consumer_module_id?: string;
39347
+ cost_usd?: number | null;
39348
+ created_at?: string;
39349
+ created_by?: string | null;
39350
+ duration_ms?: number | null;
39351
+ error_code?: string | null;
39352
+ error_message?: string | null;
39353
+ id?: string;
39354
+ input_tokens?: number;
39355
+ model_slug?: string | null;
39356
+ output_tokens?: number;
39357
+ provider_slug?: string | null;
39358
+ status?: string;
39359
+ total_tokens?: number;
39360
+ };
39361
+ Relationships: [];
39362
+ };
36678
39363
  ai_credentials: {
36679
39364
  Row: {
36680
39365
  active: boolean;
@@ -36711,6 +39396,36 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
36711
39396
  referencedColumns: ["id"];
36712
39397
  }];
36713
39398
  };
39399
+ ai_goals: {
39400
+ Row: {
39401
+ active: boolean;
39402
+ created_at: string;
39403
+ description: string | null;
39404
+ key: string;
39405
+ label: string;
39406
+ sort_order: number;
39407
+ updated_at: string;
39408
+ };
39409
+ Insert: {
39410
+ active?: boolean;
39411
+ created_at?: string;
39412
+ description?: string | null;
39413
+ key: string;
39414
+ label: string;
39415
+ sort_order?: number;
39416
+ updated_at?: string;
39417
+ };
39418
+ Update: {
39419
+ active?: boolean;
39420
+ created_at?: string;
39421
+ description?: string | null;
39422
+ key?: string;
39423
+ label?: string;
39424
+ sort_order?: number;
39425
+ updated_at?: string;
39426
+ };
39427
+ Relationships: [];
39428
+ };
36714
39429
  ai_model_pricing: {
36715
39430
  Row: {
36716
39431
  created_at: string;
@@ -37497,6 +40212,141 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
37497
40212
  };
37498
40213
  Relationships: [];
37499
40214
  };
40215
+ cart_planning_pick_times: {
40216
+ Row: {
40217
+ created_at: string;
40218
+ id: string;
40219
+ pot_size: string;
40220
+ seconds_per_cart: number;
40221
+ updated_at: string;
40222
+ };
40223
+ Insert: {
40224
+ created_at?: string;
40225
+ id?: string;
40226
+ pot_size: string;
40227
+ seconds_per_cart: number;
40228
+ updated_at?: string;
40229
+ };
40230
+ Update: {
40231
+ created_at?: string;
40232
+ id?: string;
40233
+ pot_size?: string;
40234
+ seconds_per_cart?: number;
40235
+ updated_at?: string;
40236
+ };
40237
+ Relationships: [];
40238
+ };
40239
+ cart_planning_product_overrides: {
40240
+ Row: {
40241
+ created_at: string;
40242
+ id: string;
40243
+ max_party_share_per_layer_pct_override: number | null;
40244
+ never_mix: boolean;
40245
+ notes: string | null;
40246
+ product_id: string;
40247
+ updated_at: string;
40248
+ };
40249
+ Insert: {
40250
+ created_at?: string;
40251
+ id?: string;
40252
+ max_party_share_per_layer_pct_override?: number | null;
40253
+ never_mix?: boolean;
40254
+ notes?: string | null;
40255
+ product_id: string;
40256
+ updated_at?: string;
40257
+ };
40258
+ Update: {
40259
+ created_at?: string;
40260
+ id?: string;
40261
+ max_party_share_per_layer_pct_override?: number | null;
40262
+ never_mix?: boolean;
40263
+ notes?: string | null;
40264
+ product_id?: string;
40265
+ updated_at?: string;
40266
+ };
40267
+ Relationships: [{
40268
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
40269
+ columns: ["product_id"];
40270
+ isOneToOne: true;
40271
+ referencedRelation: "products";
40272
+ referencedColumns: ["id"];
40273
+ }];
40274
+ };
40275
+ cart_planning_settings: {
40276
+ Row: {
40277
+ allow_editing_after_pickstation_send: boolean;
40278
+ buffer_grouping_mode: string;
40279
+ combine_floriday_orders: boolean;
40280
+ combine_floriday_orders_window: string;
40281
+ combine_orders_scope: string;
40282
+ default_workers: number;
40283
+ id: number;
40284
+ max_beladingen_per_layer: number;
40285
+ max_customers_per_cart: number;
40286
+ max_one_customer_per_layer: boolean;
40287
+ max_party_share_per_layer_pct: number;
40288
+ optimization_strategy: string;
40289
+ own_cart_from_layers: number;
40290
+ pick_time_mode: string;
40291
+ plants_per_day: number;
40292
+ plants_per_hour: number;
40293
+ require_same_carrier: boolean;
40294
+ require_same_crate_type: boolean;
40295
+ require_same_delivery_date: boolean;
40296
+ require_same_delivery_location: boolean;
40297
+ updated_at: string;
40298
+ updated_by: string | null;
40299
+ };
40300
+ Insert: {
40301
+ allow_editing_after_pickstation_send?: boolean;
40302
+ buffer_grouping_mode?: string;
40303
+ combine_floriday_orders?: boolean;
40304
+ combine_floriday_orders_window?: string;
40305
+ combine_orders_scope?: string;
40306
+ default_workers?: number;
40307
+ id?: number;
40308
+ max_beladingen_per_layer?: number;
40309
+ max_customers_per_cart?: number;
40310
+ max_one_customer_per_layer?: boolean;
40311
+ max_party_share_per_layer_pct?: number;
40312
+ optimization_strategy?: string;
40313
+ own_cart_from_layers?: number;
40314
+ pick_time_mode?: string;
40315
+ plants_per_day?: number;
40316
+ plants_per_hour?: number;
40317
+ require_same_carrier?: boolean;
40318
+ require_same_crate_type?: boolean;
40319
+ require_same_delivery_date?: boolean;
40320
+ require_same_delivery_location?: boolean;
40321
+ updated_at?: string;
40322
+ updated_by?: string | null;
40323
+ };
40324
+ Update: {
40325
+ allow_editing_after_pickstation_send?: boolean;
40326
+ buffer_grouping_mode?: string;
40327
+ combine_floriday_orders?: boolean;
40328
+ combine_floriday_orders_window?: string;
40329
+ combine_orders_scope?: string;
40330
+ default_workers?: number;
40331
+ id?: number;
40332
+ max_beladingen_per_layer?: number;
40333
+ max_customers_per_cart?: number;
40334
+ max_one_customer_per_layer?: boolean;
40335
+ max_party_share_per_layer_pct?: number;
40336
+ optimization_strategy?: string;
40337
+ own_cart_from_layers?: number;
40338
+ pick_time_mode?: string;
40339
+ plants_per_day?: number;
40340
+ plants_per_hour?: number;
40341
+ require_same_carrier?: boolean;
40342
+ require_same_crate_type?: boolean;
40343
+ require_same_delivery_date?: boolean;
40344
+ require_same_delivery_location?: boolean;
40345
+ updated_at?: string;
40346
+ updated_by?: string | null;
40347
+ };
40348
+ Relationships: [];
40349
+ };
37500
40350
  cart_replan_queue: {
37501
40351
  Row: {
37502
40352
  attempts: number;
@@ -37527,6 +40377,39 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
37527
40377
  referencedColumns: ["id"];
37528
40378
  }];
37529
40379
  };
40380
+ cart_types: {
40381
+ Row: {
40382
+ created_at: string;
40383
+ id: string;
40384
+ is_default: boolean;
40385
+ layer_length_cm: number;
40386
+ layer_width_cm: number;
40387
+ layers_per_cart: number;
40388
+ name: string;
40389
+ updated_at: string;
40390
+ };
40391
+ Insert: {
40392
+ created_at?: string;
40393
+ id?: string;
40394
+ is_default?: boolean;
40395
+ layer_length_cm: number;
40396
+ layer_width_cm: number;
40397
+ layers_per_cart?: number;
40398
+ name: string;
40399
+ updated_at?: string;
40400
+ };
40401
+ Update: {
40402
+ created_at?: string;
40403
+ id?: string;
40404
+ is_default?: boolean;
40405
+ layer_length_cm?: number;
40406
+ layer_width_cm?: number;
40407
+ layers_per_cart?: number;
40408
+ name?: string;
40409
+ updated_at?: string;
40410
+ };
40411
+ Relationships: [];
40412
+ };
37530
40413
  catalog_articles_cache: {
37531
40414
  Row: {
37532
40415
  created_at: string;
@@ -37614,6 +40497,36 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
37614
40497
  };
37615
40498
  Relationships: [];
37616
40499
  };
40500
+ crate_types: {
40501
+ Row: {
40502
+ created_at: string;
40503
+ id: string;
40504
+ length_cm: number;
40505
+ name: string;
40506
+ plants_per_crate: number;
40507
+ updated_at: string;
40508
+ width_cm: number;
40509
+ };
40510
+ Insert: {
40511
+ created_at?: string;
40512
+ id?: string;
40513
+ length_cm: number;
40514
+ name: string;
40515
+ plants_per_crate?: number;
40516
+ updated_at?: string;
40517
+ width_cm: number;
40518
+ };
40519
+ Update: {
40520
+ created_at?: string;
40521
+ id?: string;
40522
+ length_cm?: number;
40523
+ name?: string;
40524
+ plants_per_crate?: number;
40525
+ updated_at?: string;
40526
+ width_cm?: number;
40527
+ };
40528
+ Relationships: [];
40529
+ };
37617
40530
  customer_audit_log: {
37618
40531
  Row: {
37619
40532
  action: string;
@@ -42153,6 +45066,288 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
42153
45066
  };
42154
45067
  Relationships: [];
42155
45068
  };
45069
+ itk_contact_persons: {
45070
+ Row: {
45071
+ created_at: string;
45072
+ customer_id: string;
45073
+ email: string | null;
45074
+ id: string;
45075
+ name: string;
45076
+ phone: string | null;
45077
+ role: string | null;
45078
+ updated_at: string;
45079
+ };
45080
+ Insert: {
45081
+ created_at?: string;
45082
+ customer_id: string;
45083
+ email?: string | null;
45084
+ id?: string;
45085
+ name: string;
45086
+ phone?: string | null;
45087
+ role?: string | null;
45088
+ updated_at?: string;
45089
+ };
45090
+ Update: {
45091
+ created_at?: string;
45092
+ customer_id?: string;
45093
+ email?: string | null;
45094
+ id?: string;
45095
+ name?: string;
45096
+ phone?: string | null;
45097
+ role?: string | null;
45098
+ updated_at?: string;
45099
+ };
45100
+ Relationships: [{
45101
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
45102
+ columns: ["customer_id"];
45103
+ isOneToOne: false;
45104
+ referencedRelation: "itk_customers";
45105
+ referencedColumns: ["id"];
45106
+ }];
45107
+ };
45108
+ itk_customer_dynamic_values: {
45109
+ Row: {
45110
+ created_at: string;
45111
+ customer_id: string;
45112
+ field_id: string;
45113
+ id: string;
45114
+ updated_at: string;
45115
+ value: string | null;
45116
+ };
45117
+ Insert: {
45118
+ created_at?: string;
45119
+ customer_id: string;
45120
+ field_id: string;
45121
+ id?: string;
45122
+ updated_at?: string;
45123
+ value?: string | null;
45124
+ };
45125
+ Update: {
45126
+ created_at?: string;
45127
+ customer_id?: string;
45128
+ field_id?: string;
45129
+ id?: string;
45130
+ updated_at?: string;
45131
+ value?: string | null;
45132
+ };
45133
+ Relationships: [{
45134
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
45135
+ columns: ["customer_id"];
45136
+ isOneToOne: false;
45137
+ referencedRelation: "itk_customers";
45138
+ referencedColumns: ["id"];
45139
+ }, {
45140
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
45141
+ columns: ["field_id"];
45142
+ isOneToOne: false;
45143
+ referencedRelation: "itk_dynamic_fields";
45144
+ referencedColumns: ["id"];
45145
+ }];
45146
+ };
45147
+ itk_customer_notes: {
45148
+ Row: {
45149
+ body: string;
45150
+ created_at: string;
45151
+ created_by: string | null;
45152
+ customer_id: string;
45153
+ id: string;
45154
+ note_type: string;
45155
+ updated_at: string;
45156
+ };
45157
+ Insert: {
45158
+ body: string;
45159
+ created_at?: string;
45160
+ created_by?: string | null;
45161
+ customer_id: string;
45162
+ id?: string;
45163
+ note_type?: string;
45164
+ updated_at?: string;
45165
+ };
45166
+ Update: {
45167
+ body?: string;
45168
+ created_at?: string;
45169
+ created_by?: string | null;
45170
+ customer_id?: string;
45171
+ id?: string;
45172
+ note_type?: string;
45173
+ updated_at?: string;
45174
+ };
45175
+ Relationships: [{
45176
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
45177
+ columns: ["customer_id"];
45178
+ isOneToOne: false;
45179
+ referencedRelation: "itk_customers";
45180
+ referencedColumns: ["id"];
45181
+ }];
45182
+ };
45183
+ itk_customers: {
45184
+ Row: {
45185
+ billing_city: string | null;
45186
+ billing_postcode: string | null;
45187
+ billing_street: string | null;
45188
+ created_at: string;
45189
+ general_email: string | null;
45190
+ general_phone: string | null;
45191
+ id: string;
45192
+ legacy_customer_id: string | null;
45193
+ name: string;
45194
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
45195
+ updated_at: string;
45196
+ };
45197
+ Insert: {
45198
+ billing_city?: string | null;
45199
+ billing_postcode?: string | null;
45200
+ billing_street?: string | null;
45201
+ created_at?: string;
45202
+ general_email?: string | null;
45203
+ general_phone?: string | null;
45204
+ id?: string;
45205
+ legacy_customer_id?: string | null;
45206
+ name: string;
45207
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
45208
+ updated_at?: string;
45209
+ };
45210
+ Update: {
45211
+ billing_city?: string | null;
45212
+ billing_postcode?: string | null;
45213
+ billing_street?: string | null;
45214
+ created_at?: string;
45215
+ general_email?: string | null;
45216
+ general_phone?: string | null;
45217
+ id?: string;
45218
+ legacy_customer_id?: string | null;
45219
+ name?: string;
45220
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
45221
+ updated_at?: string;
45222
+ };
45223
+ Relationships: [{
45224
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
45225
+ columns: ["legacy_customer_id"];
45226
+ isOneToOne: false;
45227
+ referencedRelation: "customers";
45228
+ referencedColumns: ["id"];
45229
+ }];
45230
+ };
45231
+ itk_dynamic_fields: {
45232
+ Row: {
45233
+ created_at: string;
45234
+ field_name: string;
45235
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
45236
+ id: string;
45237
+ options: import("../integrations/supabase/types").Json;
45238
+ sort_order: number;
45239
+ updated_at: string;
45240
+ };
45241
+ Insert: {
45242
+ created_at?: string;
45243
+ field_name: string;
45244
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
45245
+ id?: string;
45246
+ options?: import("../integrations/supabase/types").Json;
45247
+ sort_order?: number;
45248
+ updated_at?: string;
45249
+ };
45250
+ Update: {
45251
+ created_at?: string;
45252
+ field_name?: string;
45253
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
45254
+ id?: string;
45255
+ options?: import("../integrations/supabase/types").Json;
45256
+ sort_order?: number;
45257
+ updated_at?: string;
45258
+ };
45259
+ Relationships: [];
45260
+ };
45261
+ itk_work_locations: {
45262
+ Row: {
45263
+ city: string | null;
45264
+ created_at: string;
45265
+ customer_id: string;
45266
+ id: string;
45267
+ instructions: string | null;
45268
+ label: string;
45269
+ latitude: number | null;
45270
+ longitude: number | null;
45271
+ postcode: string | null;
45272
+ street: string | null;
45273
+ updated_at: string;
45274
+ };
45275
+ Insert: {
45276
+ city?: string | null;
45277
+ created_at?: string;
45278
+ customer_id: string;
45279
+ id?: string;
45280
+ instructions?: string | null;
45281
+ label: string;
45282
+ latitude?: number | null;
45283
+ longitude?: number | null;
45284
+ postcode?: string | null;
45285
+ street?: string | null;
45286
+ updated_at?: string;
45287
+ };
45288
+ Update: {
45289
+ city?: string | null;
45290
+ created_at?: string;
45291
+ customer_id?: string;
45292
+ id?: string;
45293
+ instructions?: string | null;
45294
+ label?: string;
45295
+ latitude?: number | null;
45296
+ longitude?: number | null;
45297
+ postcode?: string | null;
45298
+ street?: string | null;
45299
+ updated_at?: string;
45300
+ };
45301
+ Relationships: [{
45302
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
45303
+ columns: ["customer_id"];
45304
+ isOneToOne: false;
45305
+ referencedRelation: "itk_customers";
45306
+ referencedColumns: ["id"];
45307
+ }];
45308
+ };
45309
+ leave_requests: {
45310
+ Row: {
45311
+ created_at: string;
45312
+ end_date: string;
45313
+ id: string;
45314
+ reason: string | null;
45315
+ start_date: string;
45316
+ status: string;
45317
+ tenant_id: string;
45318
+ updated_at: string;
45319
+ user_id: string;
45320
+ };
45321
+ Insert: {
45322
+ created_at?: string;
45323
+ end_date: string;
45324
+ id?: string;
45325
+ reason?: string | null;
45326
+ start_date: string;
45327
+ status?: string;
45328
+ tenant_id?: string;
45329
+ updated_at?: string;
45330
+ user_id: string;
45331
+ };
45332
+ Update: {
45333
+ created_at?: string;
45334
+ end_date?: string;
45335
+ id?: string;
45336
+ reason?: string | null;
45337
+ start_date?: string;
45338
+ status?: string;
45339
+ tenant_id?: string;
45340
+ updated_at?: string;
45341
+ user_id?: string;
45342
+ };
45343
+ Relationships: [{
45344
+ foreignKeyName: "leave_requests_user_id_fkey";
45345
+ columns: ["user_id"];
45346
+ isOneToOne: false;
45347
+ referencedRelation: "monteurs";
45348
+ referencedColumns: ["id"];
45349
+ }];
45350
+ };
42156
45351
  local_customer_agreements: {
42157
45352
  Row: {
42158
45353
  base_price: number | null;
@@ -42804,6 +45999,33 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
42804
45999
  };
42805
46000
  Relationships: [];
42806
46001
  };
46002
+ module_permissions: {
46003
+ Row: {
46004
+ created_at: string;
46005
+ id: string;
46006
+ module_id: string;
46007
+ permission: string;
46008
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
46009
+ updated_at: string;
46010
+ };
46011
+ Insert: {
46012
+ created_at?: string;
46013
+ id?: string;
46014
+ module_id: string;
46015
+ permission: string;
46016
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
46017
+ updated_at?: string;
46018
+ };
46019
+ Update: {
46020
+ created_at?: string;
46021
+ id?: string;
46022
+ module_id?: string;
46023
+ permission?: string;
46024
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
46025
+ updated_at?: string;
46026
+ };
46027
+ Relationships: [];
46028
+ };
42807
46029
  monteurs: {
42808
46030
  Row: {
42809
46031
  avatar_url: string | null;
@@ -43533,6 +46755,42 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43533
46755
  };
43534
46756
  Relationships: [];
43535
46757
  };
46758
+ order_buffers: {
46759
+ Row: {
46760
+ buffer_key: string;
46761
+ created_at: string;
46762
+ customer_id: string | null;
46763
+ grouping_mode: string;
46764
+ id: string;
46765
+ pickup_date: string | null;
46766
+ pickup_location: string | null;
46767
+ plan_locked_at: string | null;
46768
+ updated_at: string;
46769
+ };
46770
+ Insert: {
46771
+ buffer_key: string;
46772
+ created_at?: string;
46773
+ customer_id?: string | null;
46774
+ grouping_mode: string;
46775
+ id?: string;
46776
+ pickup_date?: string | null;
46777
+ pickup_location?: string | null;
46778
+ plan_locked_at?: string | null;
46779
+ updated_at?: string;
46780
+ };
46781
+ Update: {
46782
+ buffer_key?: string;
46783
+ created_at?: string;
46784
+ customer_id?: string | null;
46785
+ grouping_mode?: string;
46786
+ id?: string;
46787
+ pickup_date?: string | null;
46788
+ pickup_location?: string | null;
46789
+ plan_locked_at?: string | null;
46790
+ updated_at?: string;
46791
+ };
46792
+ Relationships: [];
46793
+ };
43536
46794
  order_cart_items: {
43537
46795
  Row: {
43538
46796
  cart_id: string;
@@ -43599,6 +46857,7 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43599
46857
  order_carts: {
43600
46858
  Row: {
43601
46859
  algorithm_version: number;
46860
+ buffer_id: string | null;
43602
46861
  cart_number: number;
43603
46862
  created_at: string;
43604
46863
  id: string;
@@ -43606,13 +46865,14 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43606
46865
  is_complete: boolean;
43607
46866
  notes: string | null;
43608
46867
  occupancy_pct: number;
43609
- order_id: string;
46868
+ order_id: string | null;
43610
46869
  source: string;
43611
46870
  total_layers_used: number;
43612
46871
  updated_at: string;
43613
46872
  };
43614
46873
  Insert: {
43615
46874
  algorithm_version?: number;
46875
+ buffer_id?: string | null;
43616
46876
  cart_number: number;
43617
46877
  created_at?: string;
43618
46878
  id?: string;
@@ -43620,13 +46880,14 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43620
46880
  is_complete?: boolean;
43621
46881
  notes?: string | null;
43622
46882
  occupancy_pct?: number;
43623
- order_id: string;
46883
+ order_id?: string | null;
43624
46884
  source?: string;
43625
46885
  total_layers_used?: number;
43626
46886
  updated_at?: string;
43627
46887
  };
43628
46888
  Update: {
43629
46889
  algorithm_version?: number;
46890
+ buffer_id?: string | null;
43630
46891
  cart_number?: number;
43631
46892
  created_at?: string;
43632
46893
  id?: string;
@@ -43634,12 +46895,18 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43634
46895
  is_complete?: boolean;
43635
46896
  notes?: string | null;
43636
46897
  occupancy_pct?: number;
43637
- order_id?: string;
46898
+ order_id?: string | null;
43638
46899
  source?: string;
43639
46900
  total_layers_used?: number;
43640
46901
  updated_at?: string;
43641
46902
  };
43642
46903
  Relationships: [{
46904
+ foreignKeyName: "order_carts_buffer_id_fkey";
46905
+ columns: ["buffer_id"];
46906
+ isOneToOne: false;
46907
+ referencedRelation: "order_buffers";
46908
+ referencedColumns: ["id"];
46909
+ }, {
43643
46910
  foreignKeyName: "order_carts_order_id_fkey";
43644
46911
  columns: ["order_id"];
43645
46912
  isOneToOne: false;
@@ -43776,15 +47043,117 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43776
47043
  };
43777
47044
  Relationships: [];
43778
47045
  };
47046
+ order_shipment_items: {
47047
+ Row: {
47048
+ created_at: string;
47049
+ id: string;
47050
+ order_item_id: string;
47051
+ product_id: string | null;
47052
+ product_name: string;
47053
+ quantity: number;
47054
+ shipment_id: string;
47055
+ updated_at: string;
47056
+ };
47057
+ Insert: {
47058
+ created_at?: string;
47059
+ id?: string;
47060
+ order_item_id: string;
47061
+ product_id?: string | null;
47062
+ product_name: string;
47063
+ quantity: number;
47064
+ shipment_id: string;
47065
+ updated_at?: string;
47066
+ };
47067
+ Update: {
47068
+ created_at?: string;
47069
+ id?: string;
47070
+ order_item_id?: string;
47071
+ product_id?: string | null;
47072
+ product_name?: string;
47073
+ quantity?: number;
47074
+ shipment_id?: string;
47075
+ updated_at?: string;
47076
+ };
47077
+ Relationships: [{
47078
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
47079
+ columns: ["order_item_id"];
47080
+ isOneToOne: false;
47081
+ referencedRelation: "order_items";
47082
+ referencedColumns: ["id"];
47083
+ }, {
47084
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
47085
+ columns: ["shipment_id"];
47086
+ isOneToOne: false;
47087
+ referencedRelation: "order_shipments";
47088
+ referencedColumns: ["id"];
47089
+ }];
47090
+ };
47091
+ order_shipments: {
47092
+ Row: {
47093
+ carrier_id: string | null;
47094
+ created_at: string;
47095
+ delivery_date: string | null;
47096
+ delivery_location_id: string | null;
47097
+ id: string;
47098
+ notes: string | null;
47099
+ order_id: string;
47100
+ shipment_number: number;
47101
+ shipped_at: string | null;
47102
+ status: string;
47103
+ updated_at: string;
47104
+ };
47105
+ Insert: {
47106
+ carrier_id?: string | null;
47107
+ created_at?: string;
47108
+ delivery_date?: string | null;
47109
+ delivery_location_id?: string | null;
47110
+ id?: string;
47111
+ notes?: string | null;
47112
+ order_id: string;
47113
+ shipment_number: number;
47114
+ shipped_at?: string | null;
47115
+ status?: string;
47116
+ updated_at?: string;
47117
+ };
47118
+ Update: {
47119
+ carrier_id?: string | null;
47120
+ created_at?: string;
47121
+ delivery_date?: string | null;
47122
+ delivery_location_id?: string | null;
47123
+ id?: string;
47124
+ notes?: string | null;
47125
+ order_id?: string;
47126
+ shipment_number?: number;
47127
+ shipped_at?: string | null;
47128
+ status?: string;
47129
+ updated_at?: string;
47130
+ };
47131
+ Relationships: [{
47132
+ foreignKeyName: "order_shipments_carrier_id_fkey";
47133
+ columns: ["carrier_id"];
47134
+ isOneToOne: false;
47135
+ referencedRelation: "carriers";
47136
+ referencedColumns: ["id"];
47137
+ }, {
47138
+ foreignKeyName: "order_shipments_order_id_fkey";
47139
+ columns: ["order_id"];
47140
+ isOneToOne: false;
47141
+ referencedRelation: "orders";
47142
+ referencedColumns: ["id"];
47143
+ }];
47144
+ };
43779
47145
  orders: {
43780
47146
  Row: {
47147
+ buffer_id: string | null;
43781
47148
  created_at: string;
43782
47149
  custom_fields: import("../integrations/supabase/types").Json;
43783
47150
  customer_id: string | null;
43784
47151
  customer_name: string;
43785
47152
  deleted_at: string | null;
43786
- delivery_date: string;
47153
+ delivery_date: string | null;
47154
+ floriday_sales_order_id: string | null;
43787
47155
  id: string;
47156
+ is_reservation: boolean;
43788
47157
  notes: string | null;
43789
47158
  order_date: string;
43790
47159
  order_number: string;
@@ -43796,13 +47165,16 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43796
47165
  updated_at: string;
43797
47166
  };
43798
47167
  Insert: {
47168
+ buffer_id?: string | null;
43799
47169
  created_at?: string;
43800
47170
  custom_fields?: import("../integrations/supabase/types").Json;
43801
47171
  customer_id?: string | null;
43802
47172
  customer_name?: string;
43803
47173
  deleted_at?: string | null;
43804
- delivery_date: string;
47174
+ delivery_date?: string | null;
47175
+ floriday_sales_order_id?: string | null;
43805
47176
  id?: string;
47177
+ is_reservation?: boolean;
43806
47178
  notes?: string | null;
43807
47179
  order_date?: string;
43808
47180
  order_number: string;
@@ -43814,13 +47186,16 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43814
47186
  updated_at?: string;
43815
47187
  };
43816
47188
  Update: {
47189
+ buffer_id?: string | null;
43817
47190
  created_at?: string;
43818
47191
  custom_fields?: import("../integrations/supabase/types").Json;
43819
47192
  customer_id?: string | null;
43820
47193
  customer_name?: string;
43821
47194
  deleted_at?: string | null;
43822
- delivery_date?: string;
47195
+ delivery_date?: string | null;
47196
+ floriday_sales_order_id?: string | null;
43823
47197
  id?: string;
47198
+ is_reservation?: boolean;
43824
47199
  notes?: string | null;
43825
47200
  order_date?: string;
43826
47201
  order_number?: string;
@@ -43832,6 +47207,12 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43832
47207
  updated_at?: string;
43833
47208
  };
43834
47209
  Relationships: [{
47210
+ foreignKeyName: "orders_buffer_id_fkey";
47211
+ columns: ["buffer_id"];
47212
+ isOneToOne: false;
47213
+ referencedRelation: "order_buffers";
47214
+ referencedColumns: ["id"];
47215
+ }, {
43835
47216
  foreignKeyName: "orders_customer_id_fkey";
43836
47217
  columns: ["customer_id"];
43837
47218
  isOneToOne: false;
@@ -43962,6 +47343,51 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
43962
47343
  };
43963
47344
  Relationships: [];
43964
47345
  };
47346
+ planning_items: {
47347
+ Row: {
47348
+ assigned_monteur_id: string;
47349
+ created_at: string;
47350
+ created_by: string | null;
47351
+ end_at: string;
47352
+ id: string;
47353
+ notes: string | null;
47354
+ start_at: string;
47355
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
47356
+ updated_at: string;
47357
+ werkbon_id: string;
47358
+ };
47359
+ Insert: {
47360
+ assigned_monteur_id: string;
47361
+ created_at?: string;
47362
+ created_by?: string | null;
47363
+ end_at: string;
47364
+ id?: string;
47365
+ notes?: string | null;
47366
+ start_at: string;
47367
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
47368
+ updated_at?: string;
47369
+ werkbon_id: string;
47370
+ };
47371
+ Update: {
47372
+ assigned_monteur_id?: string;
47373
+ created_at?: string;
47374
+ created_by?: string | null;
47375
+ end_at?: string;
47376
+ id?: string;
47377
+ notes?: string | null;
47378
+ start_at?: string;
47379
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
47380
+ updated_at?: string;
47381
+ werkbon_id?: string;
47382
+ };
47383
+ Relationships: [{
47384
+ foreignKeyName: "planning_items_werkbon_id_fkey";
47385
+ columns: ["werkbon_id"];
47386
+ isOneToOne: false;
47387
+ referencedRelation: "werkbonnen";
47388
+ referencedColumns: ["id"];
47389
+ }];
47390
+ };
43965
47391
  product_categories: {
43966
47392
  Row: {
43967
47393
  color: string;
@@ -44095,6 +47521,8 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
44095
47521
  Row: {
44096
47522
  created_at: string;
44097
47523
  description: string | null;
47524
+ head_product_id: string | null;
47525
+ head_trade_item_floriday_id: string | null;
44098
47526
  id: string;
44099
47527
  is_active: boolean;
44100
47528
  name: string;
@@ -44104,6 +47532,8 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
44104
47532
  Insert: {
44105
47533
  created_at?: string;
44106
47534
  description?: string | null;
47535
+ head_product_id?: string | null;
47536
+ head_trade_item_floriday_id?: string | null;
44107
47537
  id?: string;
44108
47538
  is_active?: boolean;
44109
47539
  name: string;
@@ -44113,13 +47543,21 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
44113
47543
  Update: {
44114
47544
  created_at?: string;
44115
47545
  description?: string | null;
47546
+ head_product_id?: string | null;
47547
+ head_trade_item_floriday_id?: string | null;
44116
47548
  id?: string;
44117
47549
  is_active?: boolean;
44118
47550
  name?: string;
44119
47551
  tenant_id?: string;
44120
47552
  updated_at?: string;
44121
47553
  };
44122
- Relationships: [];
47554
+ Relationships: [{
47555
+ foreignKeyName: "product_groups_head_product_id_fkey";
47556
+ columns: ["head_product_id"];
47557
+ isOneToOne: false;
47558
+ referencedRelation: "products";
47559
+ referencedColumns: ["id"];
47560
+ }];
44123
47561
  };
44124
47562
  products: {
44125
47563
  Row: {
@@ -46670,6 +50108,7 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
46670
50108
  internal_notes: string | null;
46671
50109
  parent_werkbon_id: string | null;
46672
50110
  parsed_payload: import("../integrations/supabase/types").Json | null;
50111
+ planning_status: string;
46673
50112
  project_number: string | null;
46674
50113
  room_number: string | null;
46675
50114
  scheduled_end_time: string | null;
@@ -46677,6 +50116,7 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
46677
50116
  sequence_number: number;
46678
50117
  source_pdf_path: string | null;
46679
50118
  status: string;
50119
+ technician_id: string | null;
46680
50120
  technician_notes: string | null;
46681
50121
  technician_notes_raw: string | null;
46682
50122
  technician_task_description: string | null;
@@ -46697,6 +50137,7 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
46697
50137
  internal_notes?: string | null;
46698
50138
  parent_werkbon_id?: string | null;
46699
50139
  parsed_payload?: import("../integrations/supabase/types").Json | null;
50140
+ planning_status?: string;
46700
50141
  project_number?: string | null;
46701
50142
  room_number?: string | null;
46702
50143
  scheduled_end_time?: string | null;
@@ -46704,6 +50145,7 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
46704
50145
  sequence_number: number;
46705
50146
  source_pdf_path?: string | null;
46706
50147
  status?: string;
50148
+ technician_id?: string | null;
46707
50149
  technician_notes?: string | null;
46708
50150
  technician_notes_raw?: string | null;
46709
50151
  technician_task_description?: string | null;
@@ -46724,6 +50166,7 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
46724
50166
  internal_notes?: string | null;
46725
50167
  parent_werkbon_id?: string | null;
46726
50168
  parsed_payload?: import("../integrations/supabase/types").Json | null;
50169
+ planning_status?: string;
46727
50170
  project_number?: string | null;
46728
50171
  room_number?: string | null;
46729
50172
  scheduled_end_time?: string | null;
@@ -46731,6 +50174,7 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
46731
50174
  sequence_number?: number;
46732
50175
  source_pdf_path?: string | null;
46733
50176
  status?: string;
50177
+ technician_id?: string | null;
46734
50178
  technician_notes?: string | null;
46735
50179
  technician_notes_raw?: string | null;
46736
50180
  technician_task_description?: string | null;
@@ -46739,17 +50183,17 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
46739
50183
  work_address?: string | null;
46740
50184
  };
46741
50185
  Relationships: [{
46742
- foreignKeyName: "werkbonnen_customer_id_fkey";
46743
- columns: ["customer_id"];
46744
- isOneToOne: false;
46745
- referencedRelation: "customers";
46746
- referencedColumns: ["id"];
46747
- }, {
46748
50186
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
46749
50187
  columns: ["parent_werkbon_id"];
46750
50188
  isOneToOne: false;
46751
50189
  referencedRelation: "werkbonnen";
46752
50190
  referencedColumns: ["id"];
50191
+ }, {
50192
+ foreignKeyName: "werkbonnen_technician_id_fkey";
50193
+ columns: ["technician_id"];
50194
+ isOneToOne: false;
50195
+ referencedRelation: "monteurs";
50196
+ referencedColumns: ["id"];
46753
50197
  }];
46754
50198
  };
46755
50199
  work_order_monteurs: {
@@ -47468,6 +50912,21 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
47468
50912
  };
47469
50913
  Returns: string;
47470
50914
  };
50915
+ ai_usage_by_module: {
50916
+ Args: {
50917
+ _from: string;
50918
+ _to: string;
50919
+ };
50920
+ Returns: {
50921
+ calls: number;
50922
+ consumer_module_id: string;
50923
+ cost_usd: number;
50924
+ errors: number;
50925
+ input_tokens: number;
50926
+ output_tokens: number;
50927
+ total_tokens: number;
50928
+ }[];
50929
+ };
47471
50930
  apply_stock_consumption: {
47472
50931
  Args: {
47473
50932
  p_order_id: string;
@@ -47616,6 +51075,12 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
47616
51075
  Args: never;
47617
51076
  Returns: string;
47618
51077
  };
51078
+ custom_access_token_hook: {
51079
+ Args: {
51080
+ event: import("../integrations/supabase/types").Json;
51081
+ };
51082
+ Returns: import("../integrations/supabase/types").Json;
51083
+ };
47619
51084
  dashboard_alert_counts: {
47620
51085
  Args: never;
47621
51086
  Returns: import("../integrations/supabase/types").Json;
@@ -47951,6 +51416,14 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
47951
51416
  };
47952
51417
  Returns: string;
47953
51418
  };
51419
+ has_module_permission: {
51420
+ Args: {
51421
+ _min: string;
51422
+ _module_id: string;
51423
+ _user_id: string;
51424
+ };
51425
+ Returns: boolean;
51426
+ };
47954
51427
  has_role: {
47955
51428
  Args: {
47956
51429
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -47976,6 +51449,20 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
47976
51449
  };
47977
51450
  Returns: boolean;
47978
51451
  };
51452
+ jwt_has_role: {
51453
+ Args: {
51454
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
51455
+ };
51456
+ Returns: boolean;
51457
+ };
51458
+ list_monteurs: {
51459
+ Args: never;
51460
+ Returns: {
51461
+ display_name: string;
51462
+ email: string;
51463
+ user_id: string;
51464
+ }[];
51465
+ };
47979
51466
  local_effective_price: {
47980
51467
  Args: {
47981
51468
  _customer_id: string;
@@ -47992,6 +51479,22 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
47992
51479
  source_id: string;
47993
51480
  }[];
47994
51481
  };
51482
+ log_ai_call: {
51483
+ Args: {
51484
+ _consumer_module_id: string;
51485
+ _cost_usd: number;
51486
+ _duration_ms: number;
51487
+ _error_code: string;
51488
+ _error_message: string;
51489
+ _input_tokens: number;
51490
+ _model_slug: string;
51491
+ _output_tokens: number;
51492
+ _provider_slug: string;
51493
+ _status: string;
51494
+ _total_tokens: number;
51495
+ };
51496
+ Returns: string;
51497
+ };
47995
51498
  mark_offer_clicked: {
47996
51499
  Args: {
47997
51500
  p_code: string;
@@ -48004,6 +51507,12 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
48004
51507
  };
48005
51508
  Returns: undefined;
48006
51509
  };
51510
+ mark_shipment_shipped: {
51511
+ Args: {
51512
+ p_shipment_id: string;
51513
+ };
51514
+ Returns: undefined;
51515
+ };
48007
51516
  next_order_number: {
48008
51517
  Args: {
48009
51518
  p_prefix: string;
@@ -48480,9 +51989,12 @@ export declare const deleteDeliveryLocation: import("@tanstack/start-client-core
48480
51989
  };
48481
51990
  };
48482
51991
  Enums: {
48483
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
51992
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
48484
51993
  exact_env: "staging" | "live";
48485
51994
  exact_push_status: "pending" | "sent" | "error";
51995
+ itk_customer_segment: "Business" | "Private";
51996
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
51997
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
48486
51998
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
48487
51999
  };
48488
52000
  CompositeTypes: { [_ in never]: never; };