@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
@@ -331,6 +331,57 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
331
331
  referencedColumns: ["id"];
332
332
  }];
333
333
  };
334
+ ai_call_log: {
335
+ Row: {
336
+ consumer_module_id: string;
337
+ cost_usd: number | null;
338
+ created_at: string;
339
+ created_by: string | null;
340
+ duration_ms: number | null;
341
+ error_code: string | null;
342
+ error_message: string | null;
343
+ id: string;
344
+ input_tokens: number;
345
+ model_slug: string | null;
346
+ output_tokens: number;
347
+ provider_slug: string | null;
348
+ status: string;
349
+ total_tokens: number;
350
+ };
351
+ Insert: {
352
+ consumer_module_id: string;
353
+ cost_usd?: number | null;
354
+ created_at?: string;
355
+ created_by?: string | null;
356
+ duration_ms?: number | null;
357
+ error_code?: string | null;
358
+ error_message?: string | null;
359
+ id?: string;
360
+ input_tokens?: number;
361
+ model_slug?: string | null;
362
+ output_tokens?: number;
363
+ provider_slug?: string | null;
364
+ status: string;
365
+ total_tokens?: number;
366
+ };
367
+ Update: {
368
+ consumer_module_id?: string;
369
+ cost_usd?: number | null;
370
+ created_at?: string;
371
+ created_by?: string | null;
372
+ duration_ms?: number | null;
373
+ error_code?: string | null;
374
+ error_message?: string | null;
375
+ id?: string;
376
+ input_tokens?: number;
377
+ model_slug?: string | null;
378
+ output_tokens?: number;
379
+ provider_slug?: string | null;
380
+ status?: string;
381
+ total_tokens?: number;
382
+ };
383
+ Relationships: [];
384
+ };
334
385
  ai_credentials: {
335
386
  Row: {
336
387
  active: boolean;
@@ -367,6 +418,36 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
367
418
  referencedColumns: ["id"];
368
419
  }];
369
420
  };
421
+ ai_goals: {
422
+ Row: {
423
+ active: boolean;
424
+ created_at: string;
425
+ description: string | null;
426
+ key: string;
427
+ label: string;
428
+ sort_order: number;
429
+ updated_at: string;
430
+ };
431
+ Insert: {
432
+ active?: boolean;
433
+ created_at?: string;
434
+ description?: string | null;
435
+ key: string;
436
+ label: string;
437
+ sort_order?: number;
438
+ updated_at?: string;
439
+ };
440
+ Update: {
441
+ active?: boolean;
442
+ created_at?: string;
443
+ description?: string | null;
444
+ key?: string;
445
+ label?: string;
446
+ sort_order?: number;
447
+ updated_at?: string;
448
+ };
449
+ Relationships: [];
450
+ };
370
451
  ai_model_pricing: {
371
452
  Row: {
372
453
  created_at: string;
@@ -1153,6 +1234,141 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
1153
1234
  };
1154
1235
  Relationships: [];
1155
1236
  };
1237
+ cart_planning_pick_times: {
1238
+ Row: {
1239
+ created_at: string;
1240
+ id: string;
1241
+ pot_size: string;
1242
+ seconds_per_cart: number;
1243
+ updated_at: string;
1244
+ };
1245
+ Insert: {
1246
+ created_at?: string;
1247
+ id?: string;
1248
+ pot_size: string;
1249
+ seconds_per_cart: number;
1250
+ updated_at?: string;
1251
+ };
1252
+ Update: {
1253
+ created_at?: string;
1254
+ id?: string;
1255
+ pot_size?: string;
1256
+ seconds_per_cart?: number;
1257
+ updated_at?: string;
1258
+ };
1259
+ Relationships: [];
1260
+ };
1261
+ cart_planning_product_overrides: {
1262
+ Row: {
1263
+ created_at: string;
1264
+ id: string;
1265
+ max_party_share_per_layer_pct_override: number | null;
1266
+ never_mix: boolean;
1267
+ notes: string | null;
1268
+ product_id: string;
1269
+ updated_at: string;
1270
+ };
1271
+ Insert: {
1272
+ created_at?: string;
1273
+ id?: string;
1274
+ max_party_share_per_layer_pct_override?: number | null;
1275
+ never_mix?: boolean;
1276
+ notes?: string | null;
1277
+ product_id: string;
1278
+ updated_at?: string;
1279
+ };
1280
+ Update: {
1281
+ created_at?: string;
1282
+ id?: string;
1283
+ max_party_share_per_layer_pct_override?: number | null;
1284
+ never_mix?: boolean;
1285
+ notes?: string | null;
1286
+ product_id?: string;
1287
+ updated_at?: string;
1288
+ };
1289
+ Relationships: [{
1290
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
1291
+ columns: ["product_id"];
1292
+ isOneToOne: true;
1293
+ referencedRelation: "products";
1294
+ referencedColumns: ["id"];
1295
+ }];
1296
+ };
1297
+ cart_planning_settings: {
1298
+ Row: {
1299
+ allow_editing_after_pickstation_send: boolean;
1300
+ buffer_grouping_mode: string;
1301
+ combine_floriday_orders: boolean;
1302
+ combine_floriday_orders_window: string;
1303
+ combine_orders_scope: string;
1304
+ default_workers: number;
1305
+ id: number;
1306
+ max_beladingen_per_layer: number;
1307
+ max_customers_per_cart: number;
1308
+ max_one_customer_per_layer: boolean;
1309
+ max_party_share_per_layer_pct: number;
1310
+ optimization_strategy: string;
1311
+ own_cart_from_layers: number;
1312
+ pick_time_mode: string;
1313
+ plants_per_day: number;
1314
+ plants_per_hour: number;
1315
+ require_same_carrier: boolean;
1316
+ require_same_crate_type: boolean;
1317
+ require_same_delivery_date: boolean;
1318
+ require_same_delivery_location: boolean;
1319
+ updated_at: string;
1320
+ updated_by: string | null;
1321
+ };
1322
+ Insert: {
1323
+ allow_editing_after_pickstation_send?: boolean;
1324
+ buffer_grouping_mode?: string;
1325
+ combine_floriday_orders?: boolean;
1326
+ combine_floriday_orders_window?: string;
1327
+ combine_orders_scope?: string;
1328
+ default_workers?: number;
1329
+ id?: number;
1330
+ max_beladingen_per_layer?: number;
1331
+ max_customers_per_cart?: number;
1332
+ max_one_customer_per_layer?: boolean;
1333
+ max_party_share_per_layer_pct?: number;
1334
+ optimization_strategy?: string;
1335
+ own_cart_from_layers?: number;
1336
+ pick_time_mode?: string;
1337
+ plants_per_day?: number;
1338
+ plants_per_hour?: number;
1339
+ require_same_carrier?: boolean;
1340
+ require_same_crate_type?: boolean;
1341
+ require_same_delivery_date?: boolean;
1342
+ require_same_delivery_location?: boolean;
1343
+ updated_at?: string;
1344
+ updated_by?: string | null;
1345
+ };
1346
+ Update: {
1347
+ allow_editing_after_pickstation_send?: boolean;
1348
+ buffer_grouping_mode?: string;
1349
+ combine_floriday_orders?: boolean;
1350
+ combine_floriday_orders_window?: string;
1351
+ combine_orders_scope?: string;
1352
+ default_workers?: number;
1353
+ id?: number;
1354
+ max_beladingen_per_layer?: number;
1355
+ max_customers_per_cart?: number;
1356
+ max_one_customer_per_layer?: boolean;
1357
+ max_party_share_per_layer_pct?: number;
1358
+ optimization_strategy?: string;
1359
+ own_cart_from_layers?: number;
1360
+ pick_time_mode?: string;
1361
+ plants_per_day?: number;
1362
+ plants_per_hour?: number;
1363
+ require_same_carrier?: boolean;
1364
+ require_same_crate_type?: boolean;
1365
+ require_same_delivery_date?: boolean;
1366
+ require_same_delivery_location?: boolean;
1367
+ updated_at?: string;
1368
+ updated_by?: string | null;
1369
+ };
1370
+ Relationships: [];
1371
+ };
1156
1372
  cart_replan_queue: {
1157
1373
  Row: {
1158
1374
  attempts: number;
@@ -1183,6 +1399,39 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
1183
1399
  referencedColumns: ["id"];
1184
1400
  }];
1185
1401
  };
1402
+ cart_types: {
1403
+ Row: {
1404
+ created_at: string;
1405
+ id: string;
1406
+ is_default: boolean;
1407
+ layer_length_cm: number;
1408
+ layer_width_cm: number;
1409
+ layers_per_cart: number;
1410
+ name: string;
1411
+ updated_at: string;
1412
+ };
1413
+ Insert: {
1414
+ created_at?: string;
1415
+ id?: string;
1416
+ is_default?: boolean;
1417
+ layer_length_cm: number;
1418
+ layer_width_cm: number;
1419
+ layers_per_cart?: number;
1420
+ name: string;
1421
+ updated_at?: string;
1422
+ };
1423
+ Update: {
1424
+ created_at?: string;
1425
+ id?: string;
1426
+ is_default?: boolean;
1427
+ layer_length_cm?: number;
1428
+ layer_width_cm?: number;
1429
+ layers_per_cart?: number;
1430
+ name?: string;
1431
+ updated_at?: string;
1432
+ };
1433
+ Relationships: [];
1434
+ };
1186
1435
  catalog_articles_cache: {
1187
1436
  Row: {
1188
1437
  created_at: string;
@@ -1270,6 +1519,36 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
1270
1519
  };
1271
1520
  Relationships: [];
1272
1521
  };
1522
+ crate_types: {
1523
+ Row: {
1524
+ created_at: string;
1525
+ id: string;
1526
+ length_cm: number;
1527
+ name: string;
1528
+ plants_per_crate: number;
1529
+ updated_at: string;
1530
+ width_cm: number;
1531
+ };
1532
+ Insert: {
1533
+ created_at?: string;
1534
+ id?: string;
1535
+ length_cm: number;
1536
+ name: string;
1537
+ plants_per_crate?: number;
1538
+ updated_at?: string;
1539
+ width_cm: number;
1540
+ };
1541
+ Update: {
1542
+ created_at?: string;
1543
+ id?: string;
1544
+ length_cm?: number;
1545
+ name?: string;
1546
+ plants_per_crate?: number;
1547
+ updated_at?: string;
1548
+ width_cm?: number;
1549
+ };
1550
+ Relationships: [];
1551
+ };
1273
1552
  customer_audit_log: {
1274
1553
  Row: {
1275
1554
  action: string;
@@ -5809,6 +6088,288 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
5809
6088
  };
5810
6089
  Relationships: [];
5811
6090
  };
6091
+ itk_contact_persons: {
6092
+ Row: {
6093
+ created_at: string;
6094
+ customer_id: string;
6095
+ email: string | null;
6096
+ id: string;
6097
+ name: string;
6098
+ phone: string | null;
6099
+ role: string | null;
6100
+ updated_at: string;
6101
+ };
6102
+ Insert: {
6103
+ created_at?: string;
6104
+ customer_id: string;
6105
+ email?: string | null;
6106
+ id?: string;
6107
+ name: string;
6108
+ phone?: string | null;
6109
+ role?: string | null;
6110
+ updated_at?: string;
6111
+ };
6112
+ Update: {
6113
+ created_at?: string;
6114
+ customer_id?: string;
6115
+ email?: string | null;
6116
+ id?: string;
6117
+ name?: string;
6118
+ phone?: string | null;
6119
+ role?: string | null;
6120
+ updated_at?: string;
6121
+ };
6122
+ Relationships: [{
6123
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
6124
+ columns: ["customer_id"];
6125
+ isOneToOne: false;
6126
+ referencedRelation: "itk_customers";
6127
+ referencedColumns: ["id"];
6128
+ }];
6129
+ };
6130
+ itk_customer_dynamic_values: {
6131
+ Row: {
6132
+ created_at: string;
6133
+ customer_id: string;
6134
+ field_id: string;
6135
+ id: string;
6136
+ updated_at: string;
6137
+ value: string | null;
6138
+ };
6139
+ Insert: {
6140
+ created_at?: string;
6141
+ customer_id: string;
6142
+ field_id: string;
6143
+ id?: string;
6144
+ updated_at?: string;
6145
+ value?: string | null;
6146
+ };
6147
+ Update: {
6148
+ created_at?: string;
6149
+ customer_id?: string;
6150
+ field_id?: string;
6151
+ id?: string;
6152
+ updated_at?: string;
6153
+ value?: string | null;
6154
+ };
6155
+ Relationships: [{
6156
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
6157
+ columns: ["customer_id"];
6158
+ isOneToOne: false;
6159
+ referencedRelation: "itk_customers";
6160
+ referencedColumns: ["id"];
6161
+ }, {
6162
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
6163
+ columns: ["field_id"];
6164
+ isOneToOne: false;
6165
+ referencedRelation: "itk_dynamic_fields";
6166
+ referencedColumns: ["id"];
6167
+ }];
6168
+ };
6169
+ itk_customer_notes: {
6170
+ Row: {
6171
+ body: string;
6172
+ created_at: string;
6173
+ created_by: string | null;
6174
+ customer_id: string;
6175
+ id: string;
6176
+ note_type: string;
6177
+ updated_at: string;
6178
+ };
6179
+ Insert: {
6180
+ body: string;
6181
+ created_at?: string;
6182
+ created_by?: string | null;
6183
+ customer_id: string;
6184
+ id?: string;
6185
+ note_type?: string;
6186
+ updated_at?: string;
6187
+ };
6188
+ Update: {
6189
+ body?: string;
6190
+ created_at?: string;
6191
+ created_by?: string | null;
6192
+ customer_id?: string;
6193
+ id?: string;
6194
+ note_type?: string;
6195
+ updated_at?: string;
6196
+ };
6197
+ Relationships: [{
6198
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
6199
+ columns: ["customer_id"];
6200
+ isOneToOne: false;
6201
+ referencedRelation: "itk_customers";
6202
+ referencedColumns: ["id"];
6203
+ }];
6204
+ };
6205
+ itk_customers: {
6206
+ Row: {
6207
+ billing_city: string | null;
6208
+ billing_postcode: string | null;
6209
+ billing_street: string | null;
6210
+ created_at: string;
6211
+ general_email: string | null;
6212
+ general_phone: string | null;
6213
+ id: string;
6214
+ legacy_customer_id: string | null;
6215
+ name: string;
6216
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6217
+ updated_at: string;
6218
+ };
6219
+ Insert: {
6220
+ billing_city?: string | null;
6221
+ billing_postcode?: string | null;
6222
+ billing_street?: string | null;
6223
+ created_at?: string;
6224
+ general_email?: string | null;
6225
+ general_phone?: string | null;
6226
+ id?: string;
6227
+ legacy_customer_id?: string | null;
6228
+ name: string;
6229
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6230
+ updated_at?: string;
6231
+ };
6232
+ Update: {
6233
+ billing_city?: string | null;
6234
+ billing_postcode?: string | null;
6235
+ billing_street?: string | null;
6236
+ created_at?: string;
6237
+ general_email?: string | null;
6238
+ general_phone?: string | null;
6239
+ id?: string;
6240
+ legacy_customer_id?: string | null;
6241
+ name?: string;
6242
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6243
+ updated_at?: string;
6244
+ };
6245
+ Relationships: [{
6246
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
6247
+ columns: ["legacy_customer_id"];
6248
+ isOneToOne: false;
6249
+ referencedRelation: "customers";
6250
+ referencedColumns: ["id"];
6251
+ }];
6252
+ };
6253
+ itk_dynamic_fields: {
6254
+ Row: {
6255
+ created_at: string;
6256
+ field_name: string;
6257
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6258
+ id: string;
6259
+ options: import("../integrations/supabase/types").Json;
6260
+ sort_order: number;
6261
+ updated_at: string;
6262
+ };
6263
+ Insert: {
6264
+ created_at?: string;
6265
+ field_name: string;
6266
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6267
+ id?: string;
6268
+ options?: import("../integrations/supabase/types").Json;
6269
+ sort_order?: number;
6270
+ updated_at?: string;
6271
+ };
6272
+ Update: {
6273
+ created_at?: string;
6274
+ field_name?: string;
6275
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6276
+ id?: string;
6277
+ options?: import("../integrations/supabase/types").Json;
6278
+ sort_order?: number;
6279
+ updated_at?: string;
6280
+ };
6281
+ Relationships: [];
6282
+ };
6283
+ itk_work_locations: {
6284
+ Row: {
6285
+ city: string | null;
6286
+ created_at: string;
6287
+ customer_id: string;
6288
+ id: string;
6289
+ instructions: string | null;
6290
+ label: string;
6291
+ latitude: number | null;
6292
+ longitude: number | null;
6293
+ postcode: string | null;
6294
+ street: string | null;
6295
+ updated_at: string;
6296
+ };
6297
+ Insert: {
6298
+ city?: string | null;
6299
+ created_at?: string;
6300
+ customer_id: string;
6301
+ id?: string;
6302
+ instructions?: string | null;
6303
+ label: string;
6304
+ latitude?: number | null;
6305
+ longitude?: number | null;
6306
+ postcode?: string | null;
6307
+ street?: string | null;
6308
+ updated_at?: string;
6309
+ };
6310
+ Update: {
6311
+ city?: string | null;
6312
+ created_at?: string;
6313
+ customer_id?: string;
6314
+ id?: string;
6315
+ instructions?: string | null;
6316
+ label?: string;
6317
+ latitude?: number | null;
6318
+ longitude?: number | null;
6319
+ postcode?: string | null;
6320
+ street?: string | null;
6321
+ updated_at?: string;
6322
+ };
6323
+ Relationships: [{
6324
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
6325
+ columns: ["customer_id"];
6326
+ isOneToOne: false;
6327
+ referencedRelation: "itk_customers";
6328
+ referencedColumns: ["id"];
6329
+ }];
6330
+ };
6331
+ leave_requests: {
6332
+ Row: {
6333
+ created_at: string;
6334
+ end_date: string;
6335
+ id: string;
6336
+ reason: string | null;
6337
+ start_date: string;
6338
+ status: string;
6339
+ tenant_id: string;
6340
+ updated_at: string;
6341
+ user_id: string;
6342
+ };
6343
+ Insert: {
6344
+ created_at?: string;
6345
+ end_date: string;
6346
+ id?: string;
6347
+ reason?: string | null;
6348
+ start_date: string;
6349
+ status?: string;
6350
+ tenant_id?: string;
6351
+ updated_at?: string;
6352
+ user_id: string;
6353
+ };
6354
+ Update: {
6355
+ created_at?: string;
6356
+ end_date?: string;
6357
+ id?: string;
6358
+ reason?: string | null;
6359
+ start_date?: string;
6360
+ status?: string;
6361
+ tenant_id?: string;
6362
+ updated_at?: string;
6363
+ user_id?: string;
6364
+ };
6365
+ Relationships: [{
6366
+ foreignKeyName: "leave_requests_user_id_fkey";
6367
+ columns: ["user_id"];
6368
+ isOneToOne: false;
6369
+ referencedRelation: "monteurs";
6370
+ referencedColumns: ["id"];
6371
+ }];
6372
+ };
5812
6373
  local_customer_agreements: {
5813
6374
  Row: {
5814
6375
  base_price: number | null;
@@ -6460,6 +7021,33 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
6460
7021
  };
6461
7022
  Relationships: [];
6462
7023
  };
7024
+ module_permissions: {
7025
+ Row: {
7026
+ created_at: string;
7027
+ id: string;
7028
+ module_id: string;
7029
+ permission: string;
7030
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7031
+ updated_at: string;
7032
+ };
7033
+ Insert: {
7034
+ created_at?: string;
7035
+ id?: string;
7036
+ module_id: string;
7037
+ permission: string;
7038
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7039
+ updated_at?: string;
7040
+ };
7041
+ Update: {
7042
+ created_at?: string;
7043
+ id?: string;
7044
+ module_id?: string;
7045
+ permission?: string;
7046
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7047
+ updated_at?: string;
7048
+ };
7049
+ Relationships: [];
7050
+ };
6463
7051
  monteurs: {
6464
7052
  Row: {
6465
7053
  avatar_url: string | null;
@@ -7189,6 +7777,42 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7189
7777
  };
7190
7778
  Relationships: [];
7191
7779
  };
7780
+ order_buffers: {
7781
+ Row: {
7782
+ buffer_key: string;
7783
+ created_at: string;
7784
+ customer_id: string | null;
7785
+ grouping_mode: string;
7786
+ id: string;
7787
+ pickup_date: string | null;
7788
+ pickup_location: string | null;
7789
+ plan_locked_at: string | null;
7790
+ updated_at: string;
7791
+ };
7792
+ Insert: {
7793
+ buffer_key: string;
7794
+ created_at?: string;
7795
+ customer_id?: string | null;
7796
+ grouping_mode: string;
7797
+ id?: string;
7798
+ pickup_date?: string | null;
7799
+ pickup_location?: string | null;
7800
+ plan_locked_at?: string | null;
7801
+ updated_at?: string;
7802
+ };
7803
+ Update: {
7804
+ buffer_key?: string;
7805
+ created_at?: string;
7806
+ customer_id?: string | null;
7807
+ grouping_mode?: string;
7808
+ id?: string;
7809
+ pickup_date?: string | null;
7810
+ pickup_location?: string | null;
7811
+ plan_locked_at?: string | null;
7812
+ updated_at?: string;
7813
+ };
7814
+ Relationships: [];
7815
+ };
7192
7816
  order_cart_items: {
7193
7817
  Row: {
7194
7818
  cart_id: string;
@@ -7255,6 +7879,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7255
7879
  order_carts: {
7256
7880
  Row: {
7257
7881
  algorithm_version: number;
7882
+ buffer_id: string | null;
7258
7883
  cart_number: number;
7259
7884
  created_at: string;
7260
7885
  id: string;
@@ -7262,13 +7887,14 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7262
7887
  is_complete: boolean;
7263
7888
  notes: string | null;
7264
7889
  occupancy_pct: number;
7265
- order_id: string;
7890
+ order_id: string | null;
7266
7891
  source: string;
7267
7892
  total_layers_used: number;
7268
7893
  updated_at: string;
7269
7894
  };
7270
7895
  Insert: {
7271
7896
  algorithm_version?: number;
7897
+ buffer_id?: string | null;
7272
7898
  cart_number: number;
7273
7899
  created_at?: string;
7274
7900
  id?: string;
@@ -7276,13 +7902,14 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7276
7902
  is_complete?: boolean;
7277
7903
  notes?: string | null;
7278
7904
  occupancy_pct?: number;
7279
- order_id: string;
7905
+ order_id?: string | null;
7280
7906
  source?: string;
7281
7907
  total_layers_used?: number;
7282
7908
  updated_at?: string;
7283
7909
  };
7284
7910
  Update: {
7285
7911
  algorithm_version?: number;
7912
+ buffer_id?: string | null;
7286
7913
  cart_number?: number;
7287
7914
  created_at?: string;
7288
7915
  id?: string;
@@ -7290,12 +7917,18 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7290
7917
  is_complete?: boolean;
7291
7918
  notes?: string | null;
7292
7919
  occupancy_pct?: number;
7293
- order_id?: string;
7920
+ order_id?: string | null;
7294
7921
  source?: string;
7295
7922
  total_layers_used?: number;
7296
7923
  updated_at?: string;
7297
7924
  };
7298
7925
  Relationships: [{
7926
+ foreignKeyName: "order_carts_buffer_id_fkey";
7927
+ columns: ["buffer_id"];
7928
+ isOneToOne: false;
7929
+ referencedRelation: "order_buffers";
7930
+ referencedColumns: ["id"];
7931
+ }, {
7299
7932
  foreignKeyName: "order_carts_order_id_fkey";
7300
7933
  columns: ["order_id"];
7301
7934
  isOneToOne: false;
@@ -7432,15 +8065,117 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7432
8065
  };
7433
8066
  Relationships: [];
7434
8067
  };
8068
+ order_shipment_items: {
8069
+ Row: {
8070
+ created_at: string;
8071
+ id: string;
8072
+ order_item_id: string;
8073
+ product_id: string | null;
8074
+ product_name: string;
8075
+ quantity: number;
8076
+ shipment_id: string;
8077
+ updated_at: string;
8078
+ };
8079
+ Insert: {
8080
+ created_at?: string;
8081
+ id?: string;
8082
+ order_item_id: string;
8083
+ product_id?: string | null;
8084
+ product_name: string;
8085
+ quantity: number;
8086
+ shipment_id: string;
8087
+ updated_at?: string;
8088
+ };
8089
+ Update: {
8090
+ created_at?: string;
8091
+ id?: string;
8092
+ order_item_id?: string;
8093
+ product_id?: string | null;
8094
+ product_name?: string;
8095
+ quantity?: number;
8096
+ shipment_id?: string;
8097
+ updated_at?: string;
8098
+ };
8099
+ Relationships: [{
8100
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
8101
+ columns: ["order_item_id"];
8102
+ isOneToOne: false;
8103
+ referencedRelation: "order_items";
8104
+ referencedColumns: ["id"];
8105
+ }, {
8106
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
8107
+ columns: ["shipment_id"];
8108
+ isOneToOne: false;
8109
+ referencedRelation: "order_shipments";
8110
+ referencedColumns: ["id"];
8111
+ }];
8112
+ };
8113
+ order_shipments: {
8114
+ Row: {
8115
+ carrier_id: string | null;
8116
+ created_at: string;
8117
+ delivery_date: string | null;
8118
+ delivery_location_id: string | null;
8119
+ id: string;
8120
+ notes: string | null;
8121
+ order_id: string;
8122
+ shipment_number: number;
8123
+ shipped_at: string | null;
8124
+ status: string;
8125
+ updated_at: string;
8126
+ };
8127
+ Insert: {
8128
+ carrier_id?: string | null;
8129
+ created_at?: string;
8130
+ delivery_date?: string | null;
8131
+ delivery_location_id?: string | null;
8132
+ id?: string;
8133
+ notes?: string | null;
8134
+ order_id: string;
8135
+ shipment_number: number;
8136
+ shipped_at?: string | null;
8137
+ status?: string;
8138
+ updated_at?: string;
8139
+ };
8140
+ Update: {
8141
+ carrier_id?: string | null;
8142
+ created_at?: string;
8143
+ delivery_date?: string | null;
8144
+ delivery_location_id?: string | null;
8145
+ id?: string;
8146
+ notes?: string | null;
8147
+ order_id?: string;
8148
+ shipment_number?: number;
8149
+ shipped_at?: string | null;
8150
+ status?: string;
8151
+ updated_at?: string;
8152
+ };
8153
+ Relationships: [{
8154
+ foreignKeyName: "order_shipments_carrier_id_fkey";
8155
+ columns: ["carrier_id"];
8156
+ isOneToOne: false;
8157
+ referencedRelation: "carriers";
8158
+ referencedColumns: ["id"];
8159
+ }, {
8160
+ foreignKeyName: "order_shipments_order_id_fkey";
8161
+ columns: ["order_id"];
8162
+ isOneToOne: false;
8163
+ referencedRelation: "orders";
8164
+ referencedColumns: ["id"];
8165
+ }];
8166
+ };
7435
8167
  orders: {
7436
8168
  Row: {
8169
+ buffer_id: string | null;
7437
8170
  created_at: string;
7438
8171
  custom_fields: import("../integrations/supabase/types").Json;
7439
8172
  customer_id: string | null;
7440
8173
  customer_name: string;
7441
8174
  deleted_at: string | null;
7442
- delivery_date: string;
8175
+ delivery_date: string | null;
8176
+ floriday_sales_order_id: string | null;
7443
8177
  id: string;
8178
+ is_reservation: boolean;
7444
8179
  notes: string | null;
7445
8180
  order_date: string;
7446
8181
  order_number: string;
@@ -7452,13 +8187,16 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7452
8187
  updated_at: string;
7453
8188
  };
7454
8189
  Insert: {
8190
+ buffer_id?: string | null;
7455
8191
  created_at?: string;
7456
8192
  custom_fields?: import("../integrations/supabase/types").Json;
7457
8193
  customer_id?: string | null;
7458
8194
  customer_name?: string;
7459
8195
  deleted_at?: string | null;
7460
- delivery_date: string;
8196
+ delivery_date?: string | null;
8197
+ floriday_sales_order_id?: string | null;
7461
8198
  id?: string;
8199
+ is_reservation?: boolean;
7462
8200
  notes?: string | null;
7463
8201
  order_date?: string;
7464
8202
  order_number: string;
@@ -7470,13 +8208,16 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7470
8208
  updated_at?: string;
7471
8209
  };
7472
8210
  Update: {
8211
+ buffer_id?: string | null;
7473
8212
  created_at?: string;
7474
8213
  custom_fields?: import("../integrations/supabase/types").Json;
7475
8214
  customer_id?: string | null;
7476
8215
  customer_name?: string;
7477
8216
  deleted_at?: string | null;
7478
- delivery_date?: string;
8217
+ delivery_date?: string | null;
8218
+ floriday_sales_order_id?: string | null;
7479
8219
  id?: string;
8220
+ is_reservation?: boolean;
7480
8221
  notes?: string | null;
7481
8222
  order_date?: string;
7482
8223
  order_number?: string;
@@ -7488,6 +8229,12 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7488
8229
  updated_at?: string;
7489
8230
  };
7490
8231
  Relationships: [{
8232
+ foreignKeyName: "orders_buffer_id_fkey";
8233
+ columns: ["buffer_id"];
8234
+ isOneToOne: false;
8235
+ referencedRelation: "order_buffers";
8236
+ referencedColumns: ["id"];
8237
+ }, {
7491
8238
  foreignKeyName: "orders_customer_id_fkey";
7492
8239
  columns: ["customer_id"];
7493
8240
  isOneToOne: false;
@@ -7618,6 +8365,51 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7618
8365
  };
7619
8366
  Relationships: [];
7620
8367
  };
8368
+ planning_items: {
8369
+ Row: {
8370
+ assigned_monteur_id: string;
8371
+ created_at: string;
8372
+ created_by: string | null;
8373
+ end_at: string;
8374
+ id: string;
8375
+ notes: string | null;
8376
+ start_at: string;
8377
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8378
+ updated_at: string;
8379
+ werkbon_id: string;
8380
+ };
8381
+ Insert: {
8382
+ assigned_monteur_id: string;
8383
+ created_at?: string;
8384
+ created_by?: string | null;
8385
+ end_at: string;
8386
+ id?: string;
8387
+ notes?: string | null;
8388
+ start_at: string;
8389
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8390
+ updated_at?: string;
8391
+ werkbon_id: string;
8392
+ };
8393
+ Update: {
8394
+ assigned_monteur_id?: string;
8395
+ created_at?: string;
8396
+ created_by?: string | null;
8397
+ end_at?: string;
8398
+ id?: string;
8399
+ notes?: string | null;
8400
+ start_at?: string;
8401
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8402
+ updated_at?: string;
8403
+ werkbon_id?: string;
8404
+ };
8405
+ Relationships: [{
8406
+ foreignKeyName: "planning_items_werkbon_id_fkey";
8407
+ columns: ["werkbon_id"];
8408
+ isOneToOne: false;
8409
+ referencedRelation: "werkbonnen";
8410
+ referencedColumns: ["id"];
8411
+ }];
8412
+ };
7621
8413
  product_categories: {
7622
8414
  Row: {
7623
8415
  color: string;
@@ -7751,6 +8543,8 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7751
8543
  Row: {
7752
8544
  created_at: string;
7753
8545
  description: string | null;
8546
+ head_product_id: string | null;
8547
+ head_trade_item_floriday_id: string | null;
7754
8548
  id: string;
7755
8549
  is_active: boolean;
7756
8550
  name: string;
@@ -7760,6 +8554,8 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7760
8554
  Insert: {
7761
8555
  created_at?: string;
7762
8556
  description?: string | null;
8557
+ head_product_id?: string | null;
8558
+ head_trade_item_floriday_id?: string | null;
7763
8559
  id?: string;
7764
8560
  is_active?: boolean;
7765
8561
  name: string;
@@ -7769,13 +8565,21 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
7769
8565
  Update: {
7770
8566
  created_at?: string;
7771
8567
  description?: string | null;
8568
+ head_product_id?: string | null;
8569
+ head_trade_item_floriday_id?: string | null;
7772
8570
  id?: string;
7773
8571
  is_active?: boolean;
7774
8572
  name?: string;
7775
8573
  tenant_id?: string;
7776
8574
  updated_at?: string;
7777
8575
  };
7778
- Relationships: [];
8576
+ Relationships: [{
8577
+ foreignKeyName: "product_groups_head_product_id_fkey";
8578
+ columns: ["head_product_id"];
8579
+ isOneToOne: false;
8580
+ referencedRelation: "products";
8581
+ referencedColumns: ["id"];
8582
+ }];
7779
8583
  };
7780
8584
  products: {
7781
8585
  Row: {
@@ -10326,6 +11130,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10326
11130
  internal_notes: string | null;
10327
11131
  parent_werkbon_id: string | null;
10328
11132
  parsed_payload: import("../integrations/supabase/types").Json | null;
11133
+ planning_status: string;
10329
11134
  project_number: string | null;
10330
11135
  room_number: string | null;
10331
11136
  scheduled_end_time: string | null;
@@ -10333,6 +11138,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10333
11138
  sequence_number: number;
10334
11139
  source_pdf_path: string | null;
10335
11140
  status: string;
11141
+ technician_id: string | null;
10336
11142
  technician_notes: string | null;
10337
11143
  technician_notes_raw: string | null;
10338
11144
  technician_task_description: string | null;
@@ -10353,6 +11159,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10353
11159
  internal_notes?: string | null;
10354
11160
  parent_werkbon_id?: string | null;
10355
11161
  parsed_payload?: import("../integrations/supabase/types").Json | null;
11162
+ planning_status?: string;
10356
11163
  project_number?: string | null;
10357
11164
  room_number?: string | null;
10358
11165
  scheduled_end_time?: string | null;
@@ -10360,6 +11167,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10360
11167
  sequence_number: number;
10361
11168
  source_pdf_path?: string | null;
10362
11169
  status?: string;
11170
+ technician_id?: string | null;
10363
11171
  technician_notes?: string | null;
10364
11172
  technician_notes_raw?: string | null;
10365
11173
  technician_task_description?: string | null;
@@ -10380,6 +11188,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10380
11188
  internal_notes?: string | null;
10381
11189
  parent_werkbon_id?: string | null;
10382
11190
  parsed_payload?: import("../integrations/supabase/types").Json | null;
11191
+ planning_status?: string;
10383
11192
  project_number?: string | null;
10384
11193
  room_number?: string | null;
10385
11194
  scheduled_end_time?: string | null;
@@ -10387,6 +11196,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10387
11196
  sequence_number?: number;
10388
11197
  source_pdf_path?: string | null;
10389
11198
  status?: string;
11199
+ technician_id?: string | null;
10390
11200
  technician_notes?: string | null;
10391
11201
  technician_notes_raw?: string | null;
10392
11202
  technician_task_description?: string | null;
@@ -10395,17 +11205,17 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10395
11205
  work_address?: string | null;
10396
11206
  };
10397
11207
  Relationships: [{
10398
- foreignKeyName: "werkbonnen_customer_id_fkey";
10399
- columns: ["customer_id"];
10400
- isOneToOne: false;
10401
- referencedRelation: "customers";
10402
- referencedColumns: ["id"];
10403
- }, {
10404
11208
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
10405
11209
  columns: ["parent_werkbon_id"];
10406
11210
  isOneToOne: false;
10407
11211
  referencedRelation: "werkbonnen";
10408
11212
  referencedColumns: ["id"];
11213
+ }, {
11214
+ foreignKeyName: "werkbonnen_technician_id_fkey";
11215
+ columns: ["technician_id"];
11216
+ isOneToOne: false;
11217
+ referencedRelation: "monteurs";
11218
+ referencedColumns: ["id"];
10409
11219
  }];
10410
11220
  };
10411
11221
  work_order_monteurs: {
@@ -11124,6 +11934,21 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11124
11934
  };
11125
11935
  Returns: string;
11126
11936
  };
11937
+ ai_usage_by_module: {
11938
+ Args: {
11939
+ _from: string;
11940
+ _to: string;
11941
+ };
11942
+ Returns: {
11943
+ calls: number;
11944
+ consumer_module_id: string;
11945
+ cost_usd: number;
11946
+ errors: number;
11947
+ input_tokens: number;
11948
+ output_tokens: number;
11949
+ total_tokens: number;
11950
+ }[];
11951
+ };
11127
11952
  apply_stock_consumption: {
11128
11953
  Args: {
11129
11954
  p_order_id: string;
@@ -11272,6 +12097,12 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11272
12097
  Args: never;
11273
12098
  Returns: string;
11274
12099
  };
12100
+ custom_access_token_hook: {
12101
+ Args: {
12102
+ event: import("../integrations/supabase/types").Json;
12103
+ };
12104
+ Returns: import("../integrations/supabase/types").Json;
12105
+ };
11275
12106
  dashboard_alert_counts: {
11276
12107
  Args: never;
11277
12108
  Returns: import("../integrations/supabase/types").Json;
@@ -11607,6 +12438,14 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11607
12438
  };
11608
12439
  Returns: string;
11609
12440
  };
12441
+ has_module_permission: {
12442
+ Args: {
12443
+ _min: string;
12444
+ _module_id: string;
12445
+ _user_id: string;
12446
+ };
12447
+ Returns: boolean;
12448
+ };
11610
12449
  has_role: {
11611
12450
  Args: {
11612
12451
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -11632,6 +12471,20 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11632
12471
  };
11633
12472
  Returns: boolean;
11634
12473
  };
12474
+ jwt_has_role: {
12475
+ Args: {
12476
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
12477
+ };
12478
+ Returns: boolean;
12479
+ };
12480
+ list_monteurs: {
12481
+ Args: never;
12482
+ Returns: {
12483
+ display_name: string;
12484
+ email: string;
12485
+ user_id: string;
12486
+ }[];
12487
+ };
11635
12488
  local_effective_price: {
11636
12489
  Args: {
11637
12490
  _customer_id: string;
@@ -11648,6 +12501,22 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11648
12501
  source_id: string;
11649
12502
  }[];
11650
12503
  };
12504
+ log_ai_call: {
12505
+ Args: {
12506
+ _consumer_module_id: string;
12507
+ _cost_usd: number;
12508
+ _duration_ms: number;
12509
+ _error_code: string;
12510
+ _error_message: string;
12511
+ _input_tokens: number;
12512
+ _model_slug: string;
12513
+ _output_tokens: number;
12514
+ _provider_slug: string;
12515
+ _status: string;
12516
+ _total_tokens: number;
12517
+ };
12518
+ Returns: string;
12519
+ };
11651
12520
  mark_offer_clicked: {
11652
12521
  Args: {
11653
12522
  p_code: string;
@@ -11660,6 +12529,12 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11660
12529
  };
11661
12530
  Returns: undefined;
11662
12531
  };
12532
+ mark_shipment_shipped: {
12533
+ Args: {
12534
+ p_shipment_id: string;
12535
+ };
12536
+ Returns: undefined;
12537
+ };
11663
12538
  next_order_number: {
11664
12539
  Args: {
11665
12540
  p_prefix: string;
@@ -12136,9 +13011,12 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
12136
13011
  };
12137
13012
  };
12138
13013
  Enums: {
12139
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
13014
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
12140
13015
  exact_env: "staging" | "live";
12141
13016
  exact_push_status: "pending" | "sent" | "error";
13017
+ itk_customer_segment: "Business" | "Private";
13018
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
13019
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
12142
13020
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
12143
13021
  };
12144
13022
  CompositeTypes: { [_ in never]: never; };
@@ -12429,6 +13307,57 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
12429
13307
  referencedColumns: ["id"];
12430
13308
  }];
12431
13309
  };
13310
+ ai_call_log: {
13311
+ Row: {
13312
+ consumer_module_id: string;
13313
+ cost_usd: number | null;
13314
+ created_at: string;
13315
+ created_by: string | null;
13316
+ duration_ms: number | null;
13317
+ error_code: string | null;
13318
+ error_message: string | null;
13319
+ id: string;
13320
+ input_tokens: number;
13321
+ model_slug: string | null;
13322
+ output_tokens: number;
13323
+ provider_slug: string | null;
13324
+ status: string;
13325
+ total_tokens: number;
13326
+ };
13327
+ Insert: {
13328
+ consumer_module_id: string;
13329
+ cost_usd?: number | null;
13330
+ created_at?: string;
13331
+ created_by?: string | null;
13332
+ duration_ms?: number | null;
13333
+ error_code?: string | null;
13334
+ error_message?: string | null;
13335
+ id?: string;
13336
+ input_tokens?: number;
13337
+ model_slug?: string | null;
13338
+ output_tokens?: number;
13339
+ provider_slug?: string | null;
13340
+ status: string;
13341
+ total_tokens?: number;
13342
+ };
13343
+ Update: {
13344
+ consumer_module_id?: string;
13345
+ cost_usd?: number | null;
13346
+ created_at?: string;
13347
+ created_by?: string | null;
13348
+ duration_ms?: number | null;
13349
+ error_code?: string | null;
13350
+ error_message?: string | null;
13351
+ id?: string;
13352
+ input_tokens?: number;
13353
+ model_slug?: string | null;
13354
+ output_tokens?: number;
13355
+ provider_slug?: string | null;
13356
+ status?: string;
13357
+ total_tokens?: number;
13358
+ };
13359
+ Relationships: [];
13360
+ };
12432
13361
  ai_credentials: {
12433
13362
  Row: {
12434
13363
  active: boolean;
@@ -12465,6 +13394,36 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
12465
13394
  referencedColumns: ["id"];
12466
13395
  }];
12467
13396
  };
13397
+ ai_goals: {
13398
+ Row: {
13399
+ active: boolean;
13400
+ created_at: string;
13401
+ description: string | null;
13402
+ key: string;
13403
+ label: string;
13404
+ sort_order: number;
13405
+ updated_at: string;
13406
+ };
13407
+ Insert: {
13408
+ active?: boolean;
13409
+ created_at?: string;
13410
+ description?: string | null;
13411
+ key: string;
13412
+ label: string;
13413
+ sort_order?: number;
13414
+ updated_at?: string;
13415
+ };
13416
+ Update: {
13417
+ active?: boolean;
13418
+ created_at?: string;
13419
+ description?: string | null;
13420
+ key?: string;
13421
+ label?: string;
13422
+ sort_order?: number;
13423
+ updated_at?: string;
13424
+ };
13425
+ Relationships: [];
13426
+ };
12468
13427
  ai_model_pricing: {
12469
13428
  Row: {
12470
13429
  created_at: string;
@@ -13251,6 +14210,141 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
13251
14210
  };
13252
14211
  Relationships: [];
13253
14212
  };
14213
+ cart_planning_pick_times: {
14214
+ Row: {
14215
+ created_at: string;
14216
+ id: string;
14217
+ pot_size: string;
14218
+ seconds_per_cart: number;
14219
+ updated_at: string;
14220
+ };
14221
+ Insert: {
14222
+ created_at?: string;
14223
+ id?: string;
14224
+ pot_size: string;
14225
+ seconds_per_cart: number;
14226
+ updated_at?: string;
14227
+ };
14228
+ Update: {
14229
+ created_at?: string;
14230
+ id?: string;
14231
+ pot_size?: string;
14232
+ seconds_per_cart?: number;
14233
+ updated_at?: string;
14234
+ };
14235
+ Relationships: [];
14236
+ };
14237
+ cart_planning_product_overrides: {
14238
+ Row: {
14239
+ created_at: string;
14240
+ id: string;
14241
+ max_party_share_per_layer_pct_override: number | null;
14242
+ never_mix: boolean;
14243
+ notes: string | null;
14244
+ product_id: string;
14245
+ updated_at: string;
14246
+ };
14247
+ Insert: {
14248
+ created_at?: string;
14249
+ id?: string;
14250
+ max_party_share_per_layer_pct_override?: number | null;
14251
+ never_mix?: boolean;
14252
+ notes?: string | null;
14253
+ product_id: string;
14254
+ updated_at?: string;
14255
+ };
14256
+ Update: {
14257
+ created_at?: string;
14258
+ id?: string;
14259
+ max_party_share_per_layer_pct_override?: number | null;
14260
+ never_mix?: boolean;
14261
+ notes?: string | null;
14262
+ product_id?: string;
14263
+ updated_at?: string;
14264
+ };
14265
+ Relationships: [{
14266
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
14267
+ columns: ["product_id"];
14268
+ isOneToOne: true;
14269
+ referencedRelation: "products";
14270
+ referencedColumns: ["id"];
14271
+ }];
14272
+ };
14273
+ cart_planning_settings: {
14274
+ Row: {
14275
+ allow_editing_after_pickstation_send: boolean;
14276
+ buffer_grouping_mode: string;
14277
+ combine_floriday_orders: boolean;
14278
+ combine_floriday_orders_window: string;
14279
+ combine_orders_scope: string;
14280
+ default_workers: number;
14281
+ id: number;
14282
+ max_beladingen_per_layer: number;
14283
+ max_customers_per_cart: number;
14284
+ max_one_customer_per_layer: boolean;
14285
+ max_party_share_per_layer_pct: number;
14286
+ optimization_strategy: string;
14287
+ own_cart_from_layers: number;
14288
+ pick_time_mode: string;
14289
+ plants_per_day: number;
14290
+ plants_per_hour: number;
14291
+ require_same_carrier: boolean;
14292
+ require_same_crate_type: boolean;
14293
+ require_same_delivery_date: boolean;
14294
+ require_same_delivery_location: boolean;
14295
+ updated_at: string;
14296
+ updated_by: string | null;
14297
+ };
14298
+ Insert: {
14299
+ allow_editing_after_pickstation_send?: boolean;
14300
+ buffer_grouping_mode?: string;
14301
+ combine_floriday_orders?: boolean;
14302
+ combine_floriday_orders_window?: string;
14303
+ combine_orders_scope?: string;
14304
+ default_workers?: number;
14305
+ id?: number;
14306
+ max_beladingen_per_layer?: number;
14307
+ max_customers_per_cart?: number;
14308
+ max_one_customer_per_layer?: boolean;
14309
+ max_party_share_per_layer_pct?: number;
14310
+ optimization_strategy?: string;
14311
+ own_cart_from_layers?: number;
14312
+ pick_time_mode?: string;
14313
+ plants_per_day?: number;
14314
+ plants_per_hour?: number;
14315
+ require_same_carrier?: boolean;
14316
+ require_same_crate_type?: boolean;
14317
+ require_same_delivery_date?: boolean;
14318
+ require_same_delivery_location?: boolean;
14319
+ updated_at?: string;
14320
+ updated_by?: string | null;
14321
+ };
14322
+ Update: {
14323
+ allow_editing_after_pickstation_send?: boolean;
14324
+ buffer_grouping_mode?: string;
14325
+ combine_floriday_orders?: boolean;
14326
+ combine_floriday_orders_window?: string;
14327
+ combine_orders_scope?: string;
14328
+ default_workers?: number;
14329
+ id?: number;
14330
+ max_beladingen_per_layer?: number;
14331
+ max_customers_per_cart?: number;
14332
+ max_one_customer_per_layer?: boolean;
14333
+ max_party_share_per_layer_pct?: number;
14334
+ optimization_strategy?: string;
14335
+ own_cart_from_layers?: number;
14336
+ pick_time_mode?: string;
14337
+ plants_per_day?: number;
14338
+ plants_per_hour?: number;
14339
+ require_same_carrier?: boolean;
14340
+ require_same_crate_type?: boolean;
14341
+ require_same_delivery_date?: boolean;
14342
+ require_same_delivery_location?: boolean;
14343
+ updated_at?: string;
14344
+ updated_by?: string | null;
14345
+ };
14346
+ Relationships: [];
14347
+ };
13254
14348
  cart_replan_queue: {
13255
14349
  Row: {
13256
14350
  attempts: number;
@@ -13281,6 +14375,39 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
13281
14375
  referencedColumns: ["id"];
13282
14376
  }];
13283
14377
  };
14378
+ cart_types: {
14379
+ Row: {
14380
+ created_at: string;
14381
+ id: string;
14382
+ is_default: boolean;
14383
+ layer_length_cm: number;
14384
+ layer_width_cm: number;
14385
+ layers_per_cart: number;
14386
+ name: string;
14387
+ updated_at: string;
14388
+ };
14389
+ Insert: {
14390
+ created_at?: string;
14391
+ id?: string;
14392
+ is_default?: boolean;
14393
+ layer_length_cm: number;
14394
+ layer_width_cm: number;
14395
+ layers_per_cart?: number;
14396
+ name: string;
14397
+ updated_at?: string;
14398
+ };
14399
+ Update: {
14400
+ created_at?: string;
14401
+ id?: string;
14402
+ is_default?: boolean;
14403
+ layer_length_cm?: number;
14404
+ layer_width_cm?: number;
14405
+ layers_per_cart?: number;
14406
+ name?: string;
14407
+ updated_at?: string;
14408
+ };
14409
+ Relationships: [];
14410
+ };
13284
14411
  catalog_articles_cache: {
13285
14412
  Row: {
13286
14413
  created_at: string;
@@ -13368,6 +14495,36 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
13368
14495
  };
13369
14496
  Relationships: [];
13370
14497
  };
14498
+ crate_types: {
14499
+ Row: {
14500
+ created_at: string;
14501
+ id: string;
14502
+ length_cm: number;
14503
+ name: string;
14504
+ plants_per_crate: number;
14505
+ updated_at: string;
14506
+ width_cm: number;
14507
+ };
14508
+ Insert: {
14509
+ created_at?: string;
14510
+ id?: string;
14511
+ length_cm: number;
14512
+ name: string;
14513
+ plants_per_crate?: number;
14514
+ updated_at?: string;
14515
+ width_cm: number;
14516
+ };
14517
+ Update: {
14518
+ created_at?: string;
14519
+ id?: string;
14520
+ length_cm?: number;
14521
+ name?: string;
14522
+ plants_per_crate?: number;
14523
+ updated_at?: string;
14524
+ width_cm?: number;
14525
+ };
14526
+ Relationships: [];
14527
+ };
13371
14528
  customer_audit_log: {
13372
14529
  Row: {
13373
14530
  action: string;
@@ -17907,6 +19064,288 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
17907
19064
  };
17908
19065
  Relationships: [];
17909
19066
  };
19067
+ itk_contact_persons: {
19068
+ Row: {
19069
+ created_at: string;
19070
+ customer_id: string;
19071
+ email: string | null;
19072
+ id: string;
19073
+ name: string;
19074
+ phone: string | null;
19075
+ role: string | null;
19076
+ updated_at: string;
19077
+ };
19078
+ Insert: {
19079
+ created_at?: string;
19080
+ customer_id: string;
19081
+ email?: string | null;
19082
+ id?: string;
19083
+ name: string;
19084
+ phone?: string | null;
19085
+ role?: string | null;
19086
+ updated_at?: string;
19087
+ };
19088
+ Update: {
19089
+ created_at?: string;
19090
+ customer_id?: string;
19091
+ email?: string | null;
19092
+ id?: string;
19093
+ name?: string;
19094
+ phone?: string | null;
19095
+ role?: string | null;
19096
+ updated_at?: string;
19097
+ };
19098
+ Relationships: [{
19099
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
19100
+ columns: ["customer_id"];
19101
+ isOneToOne: false;
19102
+ referencedRelation: "itk_customers";
19103
+ referencedColumns: ["id"];
19104
+ }];
19105
+ };
19106
+ itk_customer_dynamic_values: {
19107
+ Row: {
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
+ Insert: {
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
+ Update: {
19124
+ created_at?: string;
19125
+ customer_id?: string;
19126
+ field_id?: string;
19127
+ id?: string;
19128
+ updated_at?: string;
19129
+ value?: string | null;
19130
+ };
19131
+ Relationships: [{
19132
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
19133
+ columns: ["customer_id"];
19134
+ isOneToOne: false;
19135
+ referencedRelation: "itk_customers";
19136
+ referencedColumns: ["id"];
19137
+ }, {
19138
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
19139
+ columns: ["field_id"];
19140
+ isOneToOne: false;
19141
+ referencedRelation: "itk_dynamic_fields";
19142
+ referencedColumns: ["id"];
19143
+ }];
19144
+ };
19145
+ itk_customer_notes: {
19146
+ Row: {
19147
+ body: string;
19148
+ created_at: string;
19149
+ created_by: string | null;
19150
+ customer_id: string;
19151
+ id: string;
19152
+ note_type: string;
19153
+ updated_at: string;
19154
+ };
19155
+ Insert: {
19156
+ body: string;
19157
+ created_at?: string;
19158
+ created_by?: string | null;
19159
+ customer_id: string;
19160
+ id?: string;
19161
+ note_type?: string;
19162
+ updated_at?: string;
19163
+ };
19164
+ Update: {
19165
+ body?: string;
19166
+ created_at?: string;
19167
+ created_by?: string | null;
19168
+ customer_id?: string;
19169
+ id?: string;
19170
+ note_type?: string;
19171
+ updated_at?: string;
19172
+ };
19173
+ Relationships: [{
19174
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
19175
+ columns: ["customer_id"];
19176
+ isOneToOne: false;
19177
+ referencedRelation: "itk_customers";
19178
+ referencedColumns: ["id"];
19179
+ }];
19180
+ };
19181
+ itk_customers: {
19182
+ Row: {
19183
+ billing_city: string | null;
19184
+ billing_postcode: string | null;
19185
+ billing_street: string | null;
19186
+ created_at: string;
19187
+ general_email: string | null;
19188
+ general_phone: string | null;
19189
+ id: string;
19190
+ legacy_customer_id: string | null;
19191
+ name: string;
19192
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19193
+ updated_at: string;
19194
+ };
19195
+ Insert: {
19196
+ billing_city?: string | null;
19197
+ billing_postcode?: string | null;
19198
+ billing_street?: string | null;
19199
+ created_at?: string;
19200
+ general_email?: string | null;
19201
+ general_phone?: string | null;
19202
+ id?: string;
19203
+ legacy_customer_id?: string | null;
19204
+ name: string;
19205
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19206
+ updated_at?: string;
19207
+ };
19208
+ Update: {
19209
+ billing_city?: string | null;
19210
+ billing_postcode?: string | null;
19211
+ billing_street?: string | null;
19212
+ created_at?: string;
19213
+ general_email?: string | null;
19214
+ general_phone?: string | null;
19215
+ id?: string;
19216
+ legacy_customer_id?: string | null;
19217
+ name?: string;
19218
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19219
+ updated_at?: string;
19220
+ };
19221
+ Relationships: [{
19222
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
19223
+ columns: ["legacy_customer_id"];
19224
+ isOneToOne: false;
19225
+ referencedRelation: "customers";
19226
+ referencedColumns: ["id"];
19227
+ }];
19228
+ };
19229
+ itk_dynamic_fields: {
19230
+ Row: {
19231
+ created_at: string;
19232
+ field_name: string;
19233
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19234
+ id: string;
19235
+ options: import("../integrations/supabase/types").Json;
19236
+ sort_order: number;
19237
+ updated_at: string;
19238
+ };
19239
+ Insert: {
19240
+ created_at?: string;
19241
+ field_name: string;
19242
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19243
+ id?: string;
19244
+ options?: import("../integrations/supabase/types").Json;
19245
+ sort_order?: number;
19246
+ updated_at?: string;
19247
+ };
19248
+ Update: {
19249
+ created_at?: string;
19250
+ field_name?: string;
19251
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19252
+ id?: string;
19253
+ options?: import("../integrations/supabase/types").Json;
19254
+ sort_order?: number;
19255
+ updated_at?: string;
19256
+ };
19257
+ Relationships: [];
19258
+ };
19259
+ itk_work_locations: {
19260
+ Row: {
19261
+ city: string | null;
19262
+ created_at: string;
19263
+ customer_id: string;
19264
+ id: string;
19265
+ instructions: string | null;
19266
+ label: string;
19267
+ latitude: number | null;
19268
+ longitude: number | null;
19269
+ postcode: string | null;
19270
+ street: string | null;
19271
+ updated_at: string;
19272
+ };
19273
+ Insert: {
19274
+ city?: string | null;
19275
+ created_at?: string;
19276
+ customer_id: string;
19277
+ id?: string;
19278
+ instructions?: string | null;
19279
+ label: string;
19280
+ latitude?: number | null;
19281
+ longitude?: number | null;
19282
+ postcode?: string | null;
19283
+ street?: string | null;
19284
+ updated_at?: string;
19285
+ };
19286
+ Update: {
19287
+ city?: string | null;
19288
+ created_at?: string;
19289
+ customer_id?: string;
19290
+ id?: string;
19291
+ instructions?: string | null;
19292
+ label?: string;
19293
+ latitude?: number | null;
19294
+ longitude?: number | null;
19295
+ postcode?: string | null;
19296
+ street?: string | null;
19297
+ updated_at?: string;
19298
+ };
19299
+ Relationships: [{
19300
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
19301
+ columns: ["customer_id"];
19302
+ isOneToOne: false;
19303
+ referencedRelation: "itk_customers";
19304
+ referencedColumns: ["id"];
19305
+ }];
19306
+ };
19307
+ leave_requests: {
19308
+ Row: {
19309
+ created_at: string;
19310
+ end_date: string;
19311
+ id: string;
19312
+ reason: string | null;
19313
+ start_date: string;
19314
+ status: string;
19315
+ tenant_id: string;
19316
+ updated_at: string;
19317
+ user_id: string;
19318
+ };
19319
+ Insert: {
19320
+ created_at?: string;
19321
+ end_date: string;
19322
+ id?: string;
19323
+ reason?: string | null;
19324
+ start_date: string;
19325
+ status?: string;
19326
+ tenant_id?: string;
19327
+ updated_at?: string;
19328
+ user_id: string;
19329
+ };
19330
+ Update: {
19331
+ created_at?: string;
19332
+ end_date?: string;
19333
+ id?: string;
19334
+ reason?: string | null;
19335
+ start_date?: string;
19336
+ status?: string;
19337
+ tenant_id?: string;
19338
+ updated_at?: string;
19339
+ user_id?: string;
19340
+ };
19341
+ Relationships: [{
19342
+ foreignKeyName: "leave_requests_user_id_fkey";
19343
+ columns: ["user_id"];
19344
+ isOneToOne: false;
19345
+ referencedRelation: "monteurs";
19346
+ referencedColumns: ["id"];
19347
+ }];
19348
+ };
17910
19349
  local_customer_agreements: {
17911
19350
  Row: {
17912
19351
  base_price: number | null;
@@ -18558,6 +19997,33 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
18558
19997
  };
18559
19998
  Relationships: [];
18560
19999
  };
20000
+ module_permissions: {
20001
+ Row: {
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
+ Insert: {
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
+ Update: {
20018
+ created_at?: string;
20019
+ id?: string;
20020
+ module_id?: string;
20021
+ permission?: string;
20022
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
20023
+ updated_at?: string;
20024
+ };
20025
+ Relationships: [];
20026
+ };
18561
20027
  monteurs: {
18562
20028
  Row: {
18563
20029
  avatar_url: string | null;
@@ -19287,6 +20753,42 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19287
20753
  };
19288
20754
  Relationships: [];
19289
20755
  };
20756
+ order_buffers: {
20757
+ Row: {
20758
+ buffer_key: string;
20759
+ created_at: string;
20760
+ customer_id: string | null;
20761
+ grouping_mode: string;
20762
+ id: string;
20763
+ pickup_date: string | null;
20764
+ pickup_location: string | null;
20765
+ plan_locked_at: string | null;
20766
+ updated_at: string;
20767
+ };
20768
+ Insert: {
20769
+ buffer_key: string;
20770
+ created_at?: string;
20771
+ customer_id?: string | null;
20772
+ grouping_mode: string;
20773
+ id?: string;
20774
+ pickup_date?: string | null;
20775
+ pickup_location?: string | null;
20776
+ plan_locked_at?: string | null;
20777
+ updated_at?: string;
20778
+ };
20779
+ Update: {
20780
+ buffer_key?: string;
20781
+ created_at?: string;
20782
+ customer_id?: string | null;
20783
+ grouping_mode?: string;
20784
+ id?: string;
20785
+ pickup_date?: string | null;
20786
+ pickup_location?: string | null;
20787
+ plan_locked_at?: string | null;
20788
+ updated_at?: string;
20789
+ };
20790
+ Relationships: [];
20791
+ };
19290
20792
  order_cart_items: {
19291
20793
  Row: {
19292
20794
  cart_id: string;
@@ -19353,6 +20855,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19353
20855
  order_carts: {
19354
20856
  Row: {
19355
20857
  algorithm_version: number;
20858
+ buffer_id: string | null;
19356
20859
  cart_number: number;
19357
20860
  created_at: string;
19358
20861
  id: string;
@@ -19360,13 +20863,14 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19360
20863
  is_complete: boolean;
19361
20864
  notes: string | null;
19362
20865
  occupancy_pct: number;
19363
- order_id: string;
20866
+ order_id: string | null;
19364
20867
  source: string;
19365
20868
  total_layers_used: number;
19366
20869
  updated_at: string;
19367
20870
  };
19368
20871
  Insert: {
19369
20872
  algorithm_version?: number;
20873
+ buffer_id?: string | null;
19370
20874
  cart_number: number;
19371
20875
  created_at?: string;
19372
20876
  id?: string;
@@ -19374,13 +20878,14 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19374
20878
  is_complete?: boolean;
19375
20879
  notes?: string | null;
19376
20880
  occupancy_pct?: number;
19377
- order_id: string;
20881
+ order_id?: string | null;
19378
20882
  source?: string;
19379
20883
  total_layers_used?: number;
19380
20884
  updated_at?: string;
19381
20885
  };
19382
20886
  Update: {
19383
20887
  algorithm_version?: number;
20888
+ buffer_id?: string | null;
19384
20889
  cart_number?: number;
19385
20890
  created_at?: string;
19386
20891
  id?: string;
@@ -19388,12 +20893,18 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19388
20893
  is_complete?: boolean;
19389
20894
  notes?: string | null;
19390
20895
  occupancy_pct?: number;
19391
- order_id?: string;
20896
+ order_id?: string | null;
19392
20897
  source?: string;
19393
20898
  total_layers_used?: number;
19394
20899
  updated_at?: string;
19395
20900
  };
19396
20901
  Relationships: [{
20902
+ foreignKeyName: "order_carts_buffer_id_fkey";
20903
+ columns: ["buffer_id"];
20904
+ isOneToOne: false;
20905
+ referencedRelation: "order_buffers";
20906
+ referencedColumns: ["id"];
20907
+ }, {
19397
20908
  foreignKeyName: "order_carts_order_id_fkey";
19398
20909
  columns: ["order_id"];
19399
20910
  isOneToOne: false;
@@ -19530,15 +21041,117 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19530
21041
  };
19531
21042
  Relationships: [];
19532
21043
  };
21044
+ order_shipment_items: {
21045
+ Row: {
21046
+ created_at: string;
21047
+ id: string;
21048
+ order_item_id: string;
21049
+ product_id: string | null;
21050
+ product_name: string;
21051
+ quantity: number;
21052
+ shipment_id: string;
21053
+ updated_at: string;
21054
+ };
21055
+ Insert: {
21056
+ created_at?: string;
21057
+ id?: string;
21058
+ order_item_id: string;
21059
+ product_id?: string | null;
21060
+ product_name: string;
21061
+ quantity: number;
21062
+ shipment_id: string;
21063
+ updated_at?: string;
21064
+ };
21065
+ Update: {
21066
+ created_at?: string;
21067
+ id?: string;
21068
+ order_item_id?: string;
21069
+ product_id?: string | null;
21070
+ product_name?: string;
21071
+ quantity?: number;
21072
+ shipment_id?: string;
21073
+ updated_at?: string;
21074
+ };
21075
+ Relationships: [{
21076
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
21077
+ columns: ["order_item_id"];
21078
+ isOneToOne: false;
21079
+ referencedRelation: "order_items";
21080
+ referencedColumns: ["id"];
21081
+ }, {
21082
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
21083
+ columns: ["shipment_id"];
21084
+ isOneToOne: false;
21085
+ referencedRelation: "order_shipments";
21086
+ referencedColumns: ["id"];
21087
+ }];
21088
+ };
21089
+ order_shipments: {
21090
+ Row: {
21091
+ carrier_id: string | null;
21092
+ created_at: string;
21093
+ delivery_date: string | null;
21094
+ delivery_location_id: string | null;
21095
+ id: string;
21096
+ notes: string | null;
21097
+ order_id: string;
21098
+ shipment_number: number;
21099
+ shipped_at: string | null;
21100
+ status: string;
21101
+ updated_at: string;
21102
+ };
21103
+ Insert: {
21104
+ carrier_id?: string | null;
21105
+ created_at?: string;
21106
+ delivery_date?: string | null;
21107
+ delivery_location_id?: string | null;
21108
+ id?: string;
21109
+ notes?: string | null;
21110
+ order_id: string;
21111
+ shipment_number: number;
21112
+ shipped_at?: string | null;
21113
+ status?: string;
21114
+ updated_at?: string;
21115
+ };
21116
+ Update: {
21117
+ carrier_id?: string | null;
21118
+ created_at?: string;
21119
+ delivery_date?: string | null;
21120
+ delivery_location_id?: string | null;
21121
+ id?: string;
21122
+ notes?: string | null;
21123
+ order_id?: string;
21124
+ shipment_number?: number;
21125
+ shipped_at?: string | null;
21126
+ status?: string;
21127
+ updated_at?: string;
21128
+ };
21129
+ Relationships: [{
21130
+ foreignKeyName: "order_shipments_carrier_id_fkey";
21131
+ columns: ["carrier_id"];
21132
+ isOneToOne: false;
21133
+ referencedRelation: "carriers";
21134
+ referencedColumns: ["id"];
21135
+ }, {
21136
+ foreignKeyName: "order_shipments_order_id_fkey";
21137
+ columns: ["order_id"];
21138
+ isOneToOne: false;
21139
+ referencedRelation: "orders";
21140
+ referencedColumns: ["id"];
21141
+ }];
21142
+ };
19533
21143
  orders: {
19534
21144
  Row: {
21145
+ buffer_id: string | null;
19535
21146
  created_at: string;
19536
21147
  custom_fields: import("../integrations/supabase/types").Json;
19537
21148
  customer_id: string | null;
19538
21149
  customer_name: string;
19539
21150
  deleted_at: string | null;
19540
- delivery_date: string;
21151
+ delivery_date: string | null;
21152
+ floriday_sales_order_id: string | null;
19541
21153
  id: string;
21154
+ is_reservation: boolean;
19542
21155
  notes: string | null;
19543
21156
  order_date: string;
19544
21157
  order_number: string;
@@ -19550,13 +21163,16 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19550
21163
  updated_at: string;
19551
21164
  };
19552
21165
  Insert: {
21166
+ buffer_id?: string | null;
19553
21167
  created_at?: string;
19554
21168
  custom_fields?: import("../integrations/supabase/types").Json;
19555
21169
  customer_id?: string | null;
19556
21170
  customer_name?: string;
19557
21171
  deleted_at?: string | null;
19558
- delivery_date: string;
21172
+ delivery_date?: string | null;
21173
+ floriday_sales_order_id?: string | null;
19559
21174
  id?: string;
21175
+ is_reservation?: boolean;
19560
21176
  notes?: string | null;
19561
21177
  order_date?: string;
19562
21178
  order_number: string;
@@ -19568,13 +21184,16 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19568
21184
  updated_at?: string;
19569
21185
  };
19570
21186
  Update: {
21187
+ buffer_id?: string | null;
19571
21188
  created_at?: string;
19572
21189
  custom_fields?: import("../integrations/supabase/types").Json;
19573
21190
  customer_id?: string | null;
19574
21191
  customer_name?: string;
19575
21192
  deleted_at?: string | null;
19576
- delivery_date?: string;
21193
+ delivery_date?: string | null;
21194
+ floriday_sales_order_id?: string | null;
19577
21195
  id?: string;
21196
+ is_reservation?: boolean;
19578
21197
  notes?: string | null;
19579
21198
  order_date?: string;
19580
21199
  order_number?: string;
@@ -19586,6 +21205,12 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19586
21205
  updated_at?: string;
19587
21206
  };
19588
21207
  Relationships: [{
21208
+ foreignKeyName: "orders_buffer_id_fkey";
21209
+ columns: ["buffer_id"];
21210
+ isOneToOne: false;
21211
+ referencedRelation: "order_buffers";
21212
+ referencedColumns: ["id"];
21213
+ }, {
19589
21214
  foreignKeyName: "orders_customer_id_fkey";
19590
21215
  columns: ["customer_id"];
19591
21216
  isOneToOne: false;
@@ -19716,6 +21341,51 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19716
21341
  };
19717
21342
  Relationships: [];
19718
21343
  };
21344
+ planning_items: {
21345
+ Row: {
21346
+ assigned_monteur_id: string;
21347
+ created_at: string;
21348
+ created_by: string | null;
21349
+ end_at: string;
21350
+ id: string;
21351
+ notes: string | null;
21352
+ start_at: string;
21353
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21354
+ updated_at: string;
21355
+ werkbon_id: string;
21356
+ };
21357
+ Insert: {
21358
+ assigned_monteur_id: string;
21359
+ created_at?: string;
21360
+ created_by?: string | null;
21361
+ end_at: string;
21362
+ id?: string;
21363
+ notes?: string | null;
21364
+ start_at: string;
21365
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21366
+ updated_at?: string;
21367
+ werkbon_id: string;
21368
+ };
21369
+ Update: {
21370
+ assigned_monteur_id?: string;
21371
+ created_at?: string;
21372
+ created_by?: string | null;
21373
+ end_at?: string;
21374
+ id?: string;
21375
+ notes?: string | null;
21376
+ start_at?: string;
21377
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21378
+ updated_at?: string;
21379
+ werkbon_id?: string;
21380
+ };
21381
+ Relationships: [{
21382
+ foreignKeyName: "planning_items_werkbon_id_fkey";
21383
+ columns: ["werkbon_id"];
21384
+ isOneToOne: false;
21385
+ referencedRelation: "werkbonnen";
21386
+ referencedColumns: ["id"];
21387
+ }];
21388
+ };
19719
21389
  product_categories: {
19720
21390
  Row: {
19721
21391
  color: string;
@@ -19849,6 +21519,8 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19849
21519
  Row: {
19850
21520
  created_at: string;
19851
21521
  description: string | null;
21522
+ head_product_id: string | null;
21523
+ head_trade_item_floriday_id: string | null;
19852
21524
  id: string;
19853
21525
  is_active: boolean;
19854
21526
  name: string;
@@ -19858,6 +21530,8 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19858
21530
  Insert: {
19859
21531
  created_at?: string;
19860
21532
  description?: string | null;
21533
+ head_product_id?: string | null;
21534
+ head_trade_item_floriday_id?: string | null;
19861
21535
  id?: string;
19862
21536
  is_active?: boolean;
19863
21537
  name: string;
@@ -19867,13 +21541,21 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19867
21541
  Update: {
19868
21542
  created_at?: string;
19869
21543
  description?: string | null;
21544
+ head_product_id?: string | null;
21545
+ head_trade_item_floriday_id?: string | null;
19870
21546
  id?: string;
19871
21547
  is_active?: boolean;
19872
21548
  name?: string;
19873
21549
  tenant_id?: string;
19874
21550
  updated_at?: string;
19875
21551
  };
19876
- Relationships: [];
21552
+ Relationships: [{
21553
+ foreignKeyName: "product_groups_head_product_id_fkey";
21554
+ columns: ["head_product_id"];
21555
+ isOneToOne: false;
21556
+ referencedRelation: "products";
21557
+ referencedColumns: ["id"];
21558
+ }];
19877
21559
  };
19878
21560
  products: {
19879
21561
  Row: {
@@ -22424,6 +24106,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22424
24106
  internal_notes: string | null;
22425
24107
  parent_werkbon_id: string | null;
22426
24108
  parsed_payload: import("../integrations/supabase/types").Json | null;
24109
+ planning_status: string;
22427
24110
  project_number: string | null;
22428
24111
  room_number: string | null;
22429
24112
  scheduled_end_time: string | null;
@@ -22431,6 +24114,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22431
24114
  sequence_number: number;
22432
24115
  source_pdf_path: string | null;
22433
24116
  status: string;
24117
+ technician_id: string | null;
22434
24118
  technician_notes: string | null;
22435
24119
  technician_notes_raw: string | null;
22436
24120
  technician_task_description: string | null;
@@ -22451,6 +24135,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22451
24135
  internal_notes?: string | null;
22452
24136
  parent_werkbon_id?: string | null;
22453
24137
  parsed_payload?: import("../integrations/supabase/types").Json | null;
24138
+ planning_status?: string;
22454
24139
  project_number?: string | null;
22455
24140
  room_number?: string | null;
22456
24141
  scheduled_end_time?: string | null;
@@ -22458,6 +24143,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22458
24143
  sequence_number: number;
22459
24144
  source_pdf_path?: string | null;
22460
24145
  status?: string;
24146
+ technician_id?: string | null;
22461
24147
  technician_notes?: string | null;
22462
24148
  technician_notes_raw?: string | null;
22463
24149
  technician_task_description?: string | null;
@@ -22478,6 +24164,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22478
24164
  internal_notes?: string | null;
22479
24165
  parent_werkbon_id?: string | null;
22480
24166
  parsed_payload?: import("../integrations/supabase/types").Json | null;
24167
+ planning_status?: string;
22481
24168
  project_number?: string | null;
22482
24169
  room_number?: string | null;
22483
24170
  scheduled_end_time?: string | null;
@@ -22485,6 +24172,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22485
24172
  sequence_number?: number;
22486
24173
  source_pdf_path?: string | null;
22487
24174
  status?: string;
24175
+ technician_id?: string | null;
22488
24176
  technician_notes?: string | null;
22489
24177
  technician_notes_raw?: string | null;
22490
24178
  technician_task_description?: string | null;
@@ -22493,17 +24181,17 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22493
24181
  work_address?: string | null;
22494
24182
  };
22495
24183
  Relationships: [{
22496
- foreignKeyName: "werkbonnen_customer_id_fkey";
22497
- columns: ["customer_id"];
22498
- isOneToOne: false;
22499
- referencedRelation: "customers";
22500
- referencedColumns: ["id"];
22501
- }, {
22502
24184
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
22503
24185
  columns: ["parent_werkbon_id"];
22504
24186
  isOneToOne: false;
22505
24187
  referencedRelation: "werkbonnen";
22506
24188
  referencedColumns: ["id"];
24189
+ }, {
24190
+ foreignKeyName: "werkbonnen_technician_id_fkey";
24191
+ columns: ["technician_id"];
24192
+ isOneToOne: false;
24193
+ referencedRelation: "monteurs";
24194
+ referencedColumns: ["id"];
22507
24195
  }];
22508
24196
  };
22509
24197
  work_order_monteurs: {
@@ -23222,6 +24910,21 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
23222
24910
  };
23223
24911
  Returns: string;
23224
24912
  };
24913
+ ai_usage_by_module: {
24914
+ Args: {
24915
+ _from: string;
24916
+ _to: string;
24917
+ };
24918
+ Returns: {
24919
+ calls: number;
24920
+ consumer_module_id: string;
24921
+ cost_usd: number;
24922
+ errors: number;
24923
+ input_tokens: number;
24924
+ output_tokens: number;
24925
+ total_tokens: number;
24926
+ }[];
24927
+ };
23225
24928
  apply_stock_consumption: {
23226
24929
  Args: {
23227
24930
  p_order_id: string;
@@ -23370,6 +25073,12 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
23370
25073
  Args: never;
23371
25074
  Returns: string;
23372
25075
  };
25076
+ custom_access_token_hook: {
25077
+ Args: {
25078
+ event: import("../integrations/supabase/types").Json;
25079
+ };
25080
+ Returns: import("../integrations/supabase/types").Json;
25081
+ };
23373
25082
  dashboard_alert_counts: {
23374
25083
  Args: never;
23375
25084
  Returns: import("../integrations/supabase/types").Json;
@@ -23705,6 +25414,14 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
23705
25414
  };
23706
25415
  Returns: string;
23707
25416
  };
25417
+ has_module_permission: {
25418
+ Args: {
25419
+ _min: string;
25420
+ _module_id: string;
25421
+ _user_id: string;
25422
+ };
25423
+ Returns: boolean;
25424
+ };
23708
25425
  has_role: {
23709
25426
  Args: {
23710
25427
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -23730,6 +25447,20 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
23730
25447
  };
23731
25448
  Returns: boolean;
23732
25449
  };
25450
+ jwt_has_role: {
25451
+ Args: {
25452
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
25453
+ };
25454
+ Returns: boolean;
25455
+ };
25456
+ list_monteurs: {
25457
+ Args: never;
25458
+ Returns: {
25459
+ display_name: string;
25460
+ email: string;
25461
+ user_id: string;
25462
+ }[];
25463
+ };
23733
25464
  local_effective_price: {
23734
25465
  Args: {
23735
25466
  _customer_id: string;
@@ -23746,6 +25477,22 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
23746
25477
  source_id: string;
23747
25478
  }[];
23748
25479
  };
25480
+ log_ai_call: {
25481
+ Args: {
25482
+ _consumer_module_id: string;
25483
+ _cost_usd: number;
25484
+ _duration_ms: number;
25485
+ _error_code: string;
25486
+ _error_message: string;
25487
+ _input_tokens: number;
25488
+ _model_slug: string;
25489
+ _output_tokens: number;
25490
+ _provider_slug: string;
25491
+ _status: string;
25492
+ _total_tokens: number;
25493
+ };
25494
+ Returns: string;
25495
+ };
23749
25496
  mark_offer_clicked: {
23750
25497
  Args: {
23751
25498
  p_code: string;
@@ -23758,6 +25505,12 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
23758
25505
  };
23759
25506
  Returns: undefined;
23760
25507
  };
25508
+ mark_shipment_shipped: {
25509
+ Args: {
25510
+ p_shipment_id: string;
25511
+ };
25512
+ Returns: undefined;
25513
+ };
23761
25514
  next_order_number: {
23762
25515
  Args: {
23763
25516
  p_prefix: string;
@@ -24234,9 +25987,12 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
24234
25987
  };
24235
25988
  };
24236
25989
  Enums: {
24237
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
25990
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
24238
25991
  exact_env: "staging" | "live";
24239
25992
  exact_push_status: "pending" | "sent" | "error";
25993
+ itk_customer_segment: "Business" | "Private";
25994
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
25995
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
24240
25996
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
24241
25997
  };
24242
25998
  CompositeTypes: { [_ in never]: never; };
@@ -24534,6 +26290,57 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
24534
26290
  referencedColumns: ["id"];
24535
26291
  }];
24536
26292
  };
26293
+ ai_call_log: {
26294
+ Row: {
26295
+ consumer_module_id: string;
26296
+ cost_usd: number | null;
26297
+ created_at: string;
26298
+ created_by: string | null;
26299
+ duration_ms: number | null;
26300
+ error_code: string | null;
26301
+ error_message: string | null;
26302
+ id: string;
26303
+ input_tokens: number;
26304
+ model_slug: string | null;
26305
+ output_tokens: number;
26306
+ provider_slug: string | null;
26307
+ status: string;
26308
+ total_tokens: number;
26309
+ };
26310
+ Insert: {
26311
+ consumer_module_id: string;
26312
+ cost_usd?: number | null;
26313
+ created_at?: string;
26314
+ created_by?: string | null;
26315
+ duration_ms?: number | null;
26316
+ error_code?: string | null;
26317
+ error_message?: string | null;
26318
+ id?: string;
26319
+ input_tokens?: number;
26320
+ model_slug?: string | null;
26321
+ output_tokens?: number;
26322
+ provider_slug?: string | null;
26323
+ status: string;
26324
+ total_tokens?: number;
26325
+ };
26326
+ Update: {
26327
+ consumer_module_id?: string;
26328
+ cost_usd?: number | null;
26329
+ created_at?: string;
26330
+ created_by?: string | null;
26331
+ duration_ms?: number | null;
26332
+ error_code?: string | null;
26333
+ error_message?: string | null;
26334
+ id?: string;
26335
+ input_tokens?: number;
26336
+ model_slug?: string | null;
26337
+ output_tokens?: number;
26338
+ provider_slug?: string | null;
26339
+ status?: string;
26340
+ total_tokens?: number;
26341
+ };
26342
+ Relationships: [];
26343
+ };
24537
26344
  ai_credentials: {
24538
26345
  Row: {
24539
26346
  active: boolean;
@@ -24570,6 +26377,36 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
24570
26377
  referencedColumns: ["id"];
24571
26378
  }];
24572
26379
  };
26380
+ ai_goals: {
26381
+ Row: {
26382
+ active: boolean;
26383
+ created_at: string;
26384
+ description: string | null;
26385
+ key: string;
26386
+ label: string;
26387
+ sort_order: number;
26388
+ updated_at: string;
26389
+ };
26390
+ Insert: {
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
+ Update: {
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
+ Relationships: [];
26409
+ };
24573
26410
  ai_model_pricing: {
24574
26411
  Row: {
24575
26412
  created_at: string;
@@ -25356,6 +27193,141 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
25356
27193
  };
25357
27194
  Relationships: [];
25358
27195
  };
27196
+ cart_planning_pick_times: {
27197
+ Row: {
27198
+ created_at: string;
27199
+ id: string;
27200
+ pot_size: string;
27201
+ seconds_per_cart: number;
27202
+ updated_at: string;
27203
+ };
27204
+ Insert: {
27205
+ created_at?: string;
27206
+ id?: string;
27207
+ pot_size: string;
27208
+ seconds_per_cart: number;
27209
+ updated_at?: string;
27210
+ };
27211
+ Update: {
27212
+ created_at?: string;
27213
+ id?: string;
27214
+ pot_size?: string;
27215
+ seconds_per_cart?: number;
27216
+ updated_at?: string;
27217
+ };
27218
+ Relationships: [];
27219
+ };
27220
+ cart_planning_product_overrides: {
27221
+ Row: {
27222
+ created_at: string;
27223
+ id: string;
27224
+ max_party_share_per_layer_pct_override: number | null;
27225
+ never_mix: boolean;
27226
+ notes: string | null;
27227
+ product_id: string;
27228
+ updated_at: string;
27229
+ };
27230
+ Insert: {
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
+ Update: {
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
+ Relationships: [{
27249
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
27250
+ columns: ["product_id"];
27251
+ isOneToOne: true;
27252
+ referencedRelation: "products";
27253
+ referencedColumns: ["id"];
27254
+ }];
27255
+ };
27256
+ cart_planning_settings: {
27257
+ Row: {
27258
+ allow_editing_after_pickstation_send: boolean;
27259
+ buffer_grouping_mode: string;
27260
+ combine_floriday_orders: boolean;
27261
+ combine_floriday_orders_window: string;
27262
+ combine_orders_scope: string;
27263
+ default_workers: number;
27264
+ id: number;
27265
+ max_beladingen_per_layer: number;
27266
+ max_customers_per_cart: number;
27267
+ max_one_customer_per_layer: boolean;
27268
+ max_party_share_per_layer_pct: number;
27269
+ optimization_strategy: string;
27270
+ own_cart_from_layers: number;
27271
+ pick_time_mode: string;
27272
+ plants_per_day: number;
27273
+ plants_per_hour: number;
27274
+ require_same_carrier: boolean;
27275
+ require_same_crate_type: boolean;
27276
+ require_same_delivery_date: boolean;
27277
+ require_same_delivery_location: boolean;
27278
+ updated_at: string;
27279
+ updated_by: string | null;
27280
+ };
27281
+ Insert: {
27282
+ allow_editing_after_pickstation_send?: boolean;
27283
+ buffer_grouping_mode?: string;
27284
+ combine_floriday_orders?: boolean;
27285
+ combine_floriday_orders_window?: string;
27286
+ combine_orders_scope?: string;
27287
+ default_workers?: number;
27288
+ id?: number;
27289
+ max_beladingen_per_layer?: number;
27290
+ max_customers_per_cart?: number;
27291
+ max_one_customer_per_layer?: boolean;
27292
+ max_party_share_per_layer_pct?: number;
27293
+ optimization_strategy?: string;
27294
+ own_cart_from_layers?: number;
27295
+ pick_time_mode?: string;
27296
+ plants_per_day?: number;
27297
+ plants_per_hour?: number;
27298
+ require_same_carrier?: boolean;
27299
+ require_same_crate_type?: boolean;
27300
+ require_same_delivery_date?: boolean;
27301
+ require_same_delivery_location?: boolean;
27302
+ updated_at?: string;
27303
+ updated_by?: string | null;
27304
+ };
27305
+ Update: {
27306
+ allow_editing_after_pickstation_send?: boolean;
27307
+ buffer_grouping_mode?: string;
27308
+ combine_floriday_orders?: boolean;
27309
+ combine_floriday_orders_window?: string;
27310
+ combine_orders_scope?: string;
27311
+ default_workers?: number;
27312
+ id?: number;
27313
+ max_beladingen_per_layer?: number;
27314
+ max_customers_per_cart?: number;
27315
+ max_one_customer_per_layer?: boolean;
27316
+ max_party_share_per_layer_pct?: number;
27317
+ optimization_strategy?: string;
27318
+ own_cart_from_layers?: number;
27319
+ pick_time_mode?: string;
27320
+ plants_per_day?: number;
27321
+ plants_per_hour?: number;
27322
+ require_same_carrier?: boolean;
27323
+ require_same_crate_type?: boolean;
27324
+ require_same_delivery_date?: boolean;
27325
+ require_same_delivery_location?: boolean;
27326
+ updated_at?: string;
27327
+ updated_by?: string | null;
27328
+ };
27329
+ Relationships: [];
27330
+ };
25359
27331
  cart_replan_queue: {
25360
27332
  Row: {
25361
27333
  attempts: number;
@@ -25386,6 +27358,39 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
25386
27358
  referencedColumns: ["id"];
25387
27359
  }];
25388
27360
  };
27361
+ cart_types: {
27362
+ Row: {
27363
+ created_at: string;
27364
+ id: string;
27365
+ is_default: boolean;
27366
+ layer_length_cm: number;
27367
+ layer_width_cm: number;
27368
+ layers_per_cart: number;
27369
+ name: string;
27370
+ updated_at: string;
27371
+ };
27372
+ Insert: {
27373
+ created_at?: string;
27374
+ id?: string;
27375
+ is_default?: boolean;
27376
+ layer_length_cm: number;
27377
+ layer_width_cm: number;
27378
+ layers_per_cart?: number;
27379
+ name: string;
27380
+ updated_at?: string;
27381
+ };
27382
+ Update: {
27383
+ created_at?: string;
27384
+ id?: string;
27385
+ is_default?: boolean;
27386
+ layer_length_cm?: number;
27387
+ layer_width_cm?: number;
27388
+ layers_per_cart?: number;
27389
+ name?: string;
27390
+ updated_at?: string;
27391
+ };
27392
+ Relationships: [];
27393
+ };
25389
27394
  catalog_articles_cache: {
25390
27395
  Row: {
25391
27396
  created_at: string;
@@ -25473,6 +27478,36 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
25473
27478
  };
25474
27479
  Relationships: [];
25475
27480
  };
27481
+ crate_types: {
27482
+ Row: {
27483
+ created_at: string;
27484
+ id: string;
27485
+ length_cm: number;
27486
+ name: string;
27487
+ plants_per_crate: number;
27488
+ updated_at: string;
27489
+ width_cm: number;
27490
+ };
27491
+ Insert: {
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
+ Update: {
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
+ Relationships: [];
27510
+ };
25476
27511
  customer_audit_log: {
25477
27512
  Row: {
25478
27513
  action: string;
@@ -30012,6 +32047,288 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
30012
32047
  };
30013
32048
  Relationships: [];
30014
32049
  };
32050
+ itk_contact_persons: {
32051
+ Row: {
32052
+ created_at: string;
32053
+ customer_id: string;
32054
+ email: string | null;
32055
+ id: string;
32056
+ name: string;
32057
+ phone: string | null;
32058
+ role: string | null;
32059
+ updated_at: string;
32060
+ };
32061
+ Insert: {
32062
+ created_at?: string;
32063
+ customer_id: string;
32064
+ email?: string | null;
32065
+ id?: string;
32066
+ name: string;
32067
+ phone?: string | null;
32068
+ role?: string | null;
32069
+ updated_at?: string;
32070
+ };
32071
+ Update: {
32072
+ created_at?: string;
32073
+ customer_id?: string;
32074
+ email?: string | null;
32075
+ id?: string;
32076
+ name?: string;
32077
+ phone?: string | null;
32078
+ role?: string | null;
32079
+ updated_at?: string;
32080
+ };
32081
+ Relationships: [{
32082
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
32083
+ columns: ["customer_id"];
32084
+ isOneToOne: false;
32085
+ referencedRelation: "itk_customers";
32086
+ referencedColumns: ["id"];
32087
+ }];
32088
+ };
32089
+ itk_customer_dynamic_values: {
32090
+ Row: {
32091
+ created_at: string;
32092
+ customer_id: string;
32093
+ field_id: string;
32094
+ id: string;
32095
+ updated_at: string;
32096
+ value: string | null;
32097
+ };
32098
+ Insert: {
32099
+ created_at?: string;
32100
+ customer_id: string;
32101
+ field_id: string;
32102
+ id?: string;
32103
+ updated_at?: string;
32104
+ value?: string | null;
32105
+ };
32106
+ Update: {
32107
+ created_at?: string;
32108
+ customer_id?: string;
32109
+ field_id?: string;
32110
+ id?: string;
32111
+ updated_at?: string;
32112
+ value?: string | null;
32113
+ };
32114
+ Relationships: [{
32115
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
32116
+ columns: ["customer_id"];
32117
+ isOneToOne: false;
32118
+ referencedRelation: "itk_customers";
32119
+ referencedColumns: ["id"];
32120
+ }, {
32121
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
32122
+ columns: ["field_id"];
32123
+ isOneToOne: false;
32124
+ referencedRelation: "itk_dynamic_fields";
32125
+ referencedColumns: ["id"];
32126
+ }];
32127
+ };
32128
+ itk_customer_notes: {
32129
+ Row: {
32130
+ body: string;
32131
+ created_at: string;
32132
+ created_by: string | null;
32133
+ customer_id: string;
32134
+ id: string;
32135
+ note_type: string;
32136
+ updated_at: string;
32137
+ };
32138
+ Insert: {
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
+ Update: {
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
+ Relationships: [{
32157
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
32158
+ columns: ["customer_id"];
32159
+ isOneToOne: false;
32160
+ referencedRelation: "itk_customers";
32161
+ referencedColumns: ["id"];
32162
+ }];
32163
+ };
32164
+ itk_customers: {
32165
+ Row: {
32166
+ billing_city: string | null;
32167
+ billing_postcode: string | null;
32168
+ billing_street: string | null;
32169
+ created_at: string;
32170
+ general_email: string | null;
32171
+ general_phone: string | null;
32172
+ id: string;
32173
+ legacy_customer_id: string | null;
32174
+ name: string;
32175
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
32176
+ updated_at: string;
32177
+ };
32178
+ Insert: {
32179
+ billing_city?: string | null;
32180
+ billing_postcode?: string | null;
32181
+ billing_street?: string | null;
32182
+ created_at?: string;
32183
+ general_email?: string | null;
32184
+ general_phone?: string | null;
32185
+ id?: string;
32186
+ legacy_customer_id?: string | null;
32187
+ name: string;
32188
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
32189
+ updated_at?: string;
32190
+ };
32191
+ Update: {
32192
+ billing_city?: string | null;
32193
+ billing_postcode?: string | null;
32194
+ billing_street?: string | null;
32195
+ created_at?: string;
32196
+ general_email?: string | null;
32197
+ general_phone?: string | null;
32198
+ id?: string;
32199
+ legacy_customer_id?: string | null;
32200
+ name?: string;
32201
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
32202
+ updated_at?: string;
32203
+ };
32204
+ Relationships: [{
32205
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
32206
+ columns: ["legacy_customer_id"];
32207
+ isOneToOne: false;
32208
+ referencedRelation: "customers";
32209
+ referencedColumns: ["id"];
32210
+ }];
32211
+ };
32212
+ itk_dynamic_fields: {
32213
+ Row: {
32214
+ created_at: string;
32215
+ field_name: string;
32216
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
32217
+ id: string;
32218
+ options: import("../integrations/supabase/types").Json;
32219
+ sort_order: number;
32220
+ updated_at: string;
32221
+ };
32222
+ Insert: {
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
+ Update: {
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
+ Relationships: [];
32241
+ };
32242
+ itk_work_locations: {
32243
+ Row: {
32244
+ city: string | null;
32245
+ created_at: string;
32246
+ customer_id: string;
32247
+ id: string;
32248
+ instructions: string | null;
32249
+ label: string;
32250
+ latitude: number | null;
32251
+ longitude: number | null;
32252
+ postcode: string | null;
32253
+ street: string | null;
32254
+ updated_at: string;
32255
+ };
32256
+ Insert: {
32257
+ city?: string | null;
32258
+ created_at?: string;
32259
+ customer_id: string;
32260
+ id?: string;
32261
+ instructions?: string | null;
32262
+ label: string;
32263
+ latitude?: number | null;
32264
+ longitude?: number | null;
32265
+ postcode?: string | null;
32266
+ street?: string | null;
32267
+ updated_at?: string;
32268
+ };
32269
+ Update: {
32270
+ city?: string | null;
32271
+ created_at?: string;
32272
+ customer_id?: string;
32273
+ id?: string;
32274
+ instructions?: string | null;
32275
+ label?: string;
32276
+ latitude?: number | null;
32277
+ longitude?: number | null;
32278
+ postcode?: string | null;
32279
+ street?: string | null;
32280
+ updated_at?: string;
32281
+ };
32282
+ Relationships: [{
32283
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
32284
+ columns: ["customer_id"];
32285
+ isOneToOne: false;
32286
+ referencedRelation: "itk_customers";
32287
+ referencedColumns: ["id"];
32288
+ }];
32289
+ };
32290
+ leave_requests: {
32291
+ Row: {
32292
+ created_at: string;
32293
+ end_date: string;
32294
+ id: string;
32295
+ reason: string | null;
32296
+ start_date: string;
32297
+ status: string;
32298
+ tenant_id: string;
32299
+ updated_at: string;
32300
+ user_id: string;
32301
+ };
32302
+ Insert: {
32303
+ created_at?: string;
32304
+ end_date: string;
32305
+ id?: string;
32306
+ reason?: string | null;
32307
+ start_date: string;
32308
+ status?: string;
32309
+ tenant_id?: string;
32310
+ updated_at?: string;
32311
+ user_id: string;
32312
+ };
32313
+ Update: {
32314
+ created_at?: string;
32315
+ end_date?: string;
32316
+ id?: string;
32317
+ reason?: string | null;
32318
+ start_date?: string;
32319
+ status?: string;
32320
+ tenant_id?: string;
32321
+ updated_at?: string;
32322
+ user_id?: string;
32323
+ };
32324
+ Relationships: [{
32325
+ foreignKeyName: "leave_requests_user_id_fkey";
32326
+ columns: ["user_id"];
32327
+ isOneToOne: false;
32328
+ referencedRelation: "monteurs";
32329
+ referencedColumns: ["id"];
32330
+ }];
32331
+ };
30015
32332
  local_customer_agreements: {
30016
32333
  Row: {
30017
32334
  base_price: number | null;
@@ -30663,6 +32980,33 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
30663
32980
  };
30664
32981
  Relationships: [];
30665
32982
  };
32983
+ module_permissions: {
32984
+ Row: {
32985
+ created_at: string;
32986
+ id: string;
32987
+ module_id: string;
32988
+ permission: string;
32989
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
32990
+ updated_at: string;
32991
+ };
32992
+ Insert: {
32993
+ created_at?: string;
32994
+ id?: string;
32995
+ module_id: string;
32996
+ permission: string;
32997
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
32998
+ updated_at?: string;
32999
+ };
33000
+ Update: {
33001
+ created_at?: string;
33002
+ id?: string;
33003
+ module_id?: string;
33004
+ permission?: string;
33005
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
33006
+ updated_at?: string;
33007
+ };
33008
+ Relationships: [];
33009
+ };
30666
33010
  monteurs: {
30667
33011
  Row: {
30668
33012
  avatar_url: string | null;
@@ -31392,6 +33736,42 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31392
33736
  };
31393
33737
  Relationships: [];
31394
33738
  };
33739
+ order_buffers: {
33740
+ Row: {
33741
+ buffer_key: string;
33742
+ created_at: string;
33743
+ customer_id: string | null;
33744
+ grouping_mode: string;
33745
+ id: string;
33746
+ pickup_date: string | null;
33747
+ pickup_location: string | null;
33748
+ plan_locked_at: string | null;
33749
+ updated_at: string;
33750
+ };
33751
+ Insert: {
33752
+ buffer_key: string;
33753
+ created_at?: string;
33754
+ customer_id?: string | null;
33755
+ grouping_mode: string;
33756
+ id?: string;
33757
+ pickup_date?: string | null;
33758
+ pickup_location?: string | null;
33759
+ plan_locked_at?: string | null;
33760
+ updated_at?: string;
33761
+ };
33762
+ Update: {
33763
+ buffer_key?: string;
33764
+ created_at?: string;
33765
+ customer_id?: string | null;
33766
+ grouping_mode?: string;
33767
+ id?: string;
33768
+ pickup_date?: string | null;
33769
+ pickup_location?: string | null;
33770
+ plan_locked_at?: string | null;
33771
+ updated_at?: string;
33772
+ };
33773
+ Relationships: [];
33774
+ };
31395
33775
  order_cart_items: {
31396
33776
  Row: {
31397
33777
  cart_id: string;
@@ -31458,6 +33838,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31458
33838
  order_carts: {
31459
33839
  Row: {
31460
33840
  algorithm_version: number;
33841
+ buffer_id: string | null;
31461
33842
  cart_number: number;
31462
33843
  created_at: string;
31463
33844
  id: string;
@@ -31465,13 +33846,14 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31465
33846
  is_complete: boolean;
31466
33847
  notes: string | null;
31467
33848
  occupancy_pct: number;
31468
- order_id: string;
33849
+ order_id: string | null;
31469
33850
  source: string;
31470
33851
  total_layers_used: number;
31471
33852
  updated_at: string;
31472
33853
  };
31473
33854
  Insert: {
31474
33855
  algorithm_version?: number;
33856
+ buffer_id?: string | null;
31475
33857
  cart_number: number;
31476
33858
  created_at?: string;
31477
33859
  id?: string;
@@ -31479,13 +33861,14 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31479
33861
  is_complete?: boolean;
31480
33862
  notes?: string | null;
31481
33863
  occupancy_pct?: number;
31482
- order_id: string;
33864
+ order_id?: string | null;
31483
33865
  source?: string;
31484
33866
  total_layers_used?: number;
31485
33867
  updated_at?: string;
31486
33868
  };
31487
33869
  Update: {
31488
33870
  algorithm_version?: number;
33871
+ buffer_id?: string | null;
31489
33872
  cart_number?: number;
31490
33873
  created_at?: string;
31491
33874
  id?: string;
@@ -31493,12 +33876,18 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31493
33876
  is_complete?: boolean;
31494
33877
  notes?: string | null;
31495
33878
  occupancy_pct?: number;
31496
- order_id?: string;
33879
+ order_id?: string | null;
31497
33880
  source?: string;
31498
33881
  total_layers_used?: number;
31499
33882
  updated_at?: string;
31500
33883
  };
31501
33884
  Relationships: [{
33885
+ foreignKeyName: "order_carts_buffer_id_fkey";
33886
+ columns: ["buffer_id"];
33887
+ isOneToOne: false;
33888
+ referencedRelation: "order_buffers";
33889
+ referencedColumns: ["id"];
33890
+ }, {
31502
33891
  foreignKeyName: "order_carts_order_id_fkey";
31503
33892
  columns: ["order_id"];
31504
33893
  isOneToOne: false;
@@ -31635,15 +34024,117 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31635
34024
  };
31636
34025
  Relationships: [];
31637
34026
  };
34027
+ order_shipment_items: {
34028
+ Row: {
34029
+ created_at: string;
34030
+ id: string;
34031
+ order_item_id: string;
34032
+ product_id: string | null;
34033
+ product_name: string;
34034
+ quantity: number;
34035
+ shipment_id: string;
34036
+ updated_at: string;
34037
+ };
34038
+ Insert: {
34039
+ created_at?: string;
34040
+ id?: string;
34041
+ order_item_id: string;
34042
+ product_id?: string | null;
34043
+ product_name: string;
34044
+ quantity: number;
34045
+ shipment_id: string;
34046
+ updated_at?: string;
34047
+ };
34048
+ Update: {
34049
+ created_at?: string;
34050
+ id?: string;
34051
+ order_item_id?: string;
34052
+ product_id?: string | null;
34053
+ product_name?: string;
34054
+ quantity?: number;
34055
+ shipment_id?: string;
34056
+ updated_at?: string;
34057
+ };
34058
+ Relationships: [{
34059
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
34060
+ columns: ["order_item_id"];
34061
+ isOneToOne: false;
34062
+ referencedRelation: "order_items";
34063
+ referencedColumns: ["id"];
34064
+ }, {
34065
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
34066
+ columns: ["shipment_id"];
34067
+ isOneToOne: false;
34068
+ referencedRelation: "order_shipments";
34069
+ referencedColumns: ["id"];
34070
+ }];
34071
+ };
34072
+ order_shipments: {
34073
+ Row: {
34074
+ carrier_id: string | null;
34075
+ created_at: string;
34076
+ delivery_date: string | null;
34077
+ delivery_location_id: string | null;
34078
+ id: string;
34079
+ notes: string | null;
34080
+ order_id: string;
34081
+ shipment_number: number;
34082
+ shipped_at: string | null;
34083
+ status: string;
34084
+ updated_at: string;
34085
+ };
34086
+ Insert: {
34087
+ carrier_id?: string | null;
34088
+ created_at?: string;
34089
+ delivery_date?: string | null;
34090
+ delivery_location_id?: string | null;
34091
+ id?: string;
34092
+ notes?: string | null;
34093
+ order_id: string;
34094
+ shipment_number: number;
34095
+ shipped_at?: string | null;
34096
+ status?: string;
34097
+ updated_at?: string;
34098
+ };
34099
+ Update: {
34100
+ carrier_id?: string | null;
34101
+ created_at?: string;
34102
+ delivery_date?: string | null;
34103
+ delivery_location_id?: string | null;
34104
+ id?: string;
34105
+ notes?: string | null;
34106
+ order_id?: string;
34107
+ shipment_number?: number;
34108
+ shipped_at?: string | null;
34109
+ status?: string;
34110
+ updated_at?: string;
34111
+ };
34112
+ Relationships: [{
34113
+ foreignKeyName: "order_shipments_carrier_id_fkey";
34114
+ columns: ["carrier_id"];
34115
+ isOneToOne: false;
34116
+ referencedRelation: "carriers";
34117
+ referencedColumns: ["id"];
34118
+ }, {
34119
+ foreignKeyName: "order_shipments_order_id_fkey";
34120
+ columns: ["order_id"];
34121
+ isOneToOne: false;
34122
+ referencedRelation: "orders";
34123
+ referencedColumns: ["id"];
34124
+ }];
34125
+ };
31638
34126
  orders: {
31639
34127
  Row: {
34128
+ buffer_id: string | null;
31640
34129
  created_at: string;
31641
34130
  custom_fields: import("../integrations/supabase/types").Json;
31642
34131
  customer_id: string | null;
31643
34132
  customer_name: string;
31644
34133
  deleted_at: string | null;
31645
- delivery_date: string;
34134
+ delivery_date: string | null;
34135
+ floriday_sales_order_id: string | null;
31646
34136
  id: string;
34137
+ is_reservation: boolean;
31647
34138
  notes: string | null;
31648
34139
  order_date: string;
31649
34140
  order_number: string;
@@ -31655,13 +34146,16 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31655
34146
  updated_at: string;
31656
34147
  };
31657
34148
  Insert: {
34149
+ buffer_id?: string | null;
31658
34150
  created_at?: string;
31659
34151
  custom_fields?: import("../integrations/supabase/types").Json;
31660
34152
  customer_id?: string | null;
31661
34153
  customer_name?: string;
31662
34154
  deleted_at?: string | null;
31663
- delivery_date: string;
34155
+ delivery_date?: string | null;
34156
+ floriday_sales_order_id?: string | null;
31664
34157
  id?: string;
34158
+ is_reservation?: boolean;
31665
34159
  notes?: string | null;
31666
34160
  order_date?: string;
31667
34161
  order_number: string;
@@ -31673,13 +34167,16 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31673
34167
  updated_at?: string;
31674
34168
  };
31675
34169
  Update: {
34170
+ buffer_id?: string | null;
31676
34171
  created_at?: string;
31677
34172
  custom_fields?: import("../integrations/supabase/types").Json;
31678
34173
  customer_id?: string | null;
31679
34174
  customer_name?: string;
31680
34175
  deleted_at?: string | null;
31681
- delivery_date?: string;
34176
+ delivery_date?: string | null;
34177
+ floriday_sales_order_id?: string | null;
31682
34178
  id?: string;
34179
+ is_reservation?: boolean;
31683
34180
  notes?: string | null;
31684
34181
  order_date?: string;
31685
34182
  order_number?: string;
@@ -31691,6 +34188,12 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31691
34188
  updated_at?: string;
31692
34189
  };
31693
34190
  Relationships: [{
34191
+ foreignKeyName: "orders_buffer_id_fkey";
34192
+ columns: ["buffer_id"];
34193
+ isOneToOne: false;
34194
+ referencedRelation: "order_buffers";
34195
+ referencedColumns: ["id"];
34196
+ }, {
31694
34197
  foreignKeyName: "orders_customer_id_fkey";
31695
34198
  columns: ["customer_id"];
31696
34199
  isOneToOne: false;
@@ -31821,6 +34324,51 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31821
34324
  };
31822
34325
  Relationships: [];
31823
34326
  };
34327
+ planning_items: {
34328
+ Row: {
34329
+ assigned_monteur_id: string;
34330
+ created_at: string;
34331
+ created_by: string | null;
34332
+ end_at: string;
34333
+ id: string;
34334
+ notes: string | null;
34335
+ start_at: string;
34336
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
34337
+ updated_at: string;
34338
+ werkbon_id: string;
34339
+ };
34340
+ Insert: {
34341
+ assigned_monteur_id: string;
34342
+ created_at?: string;
34343
+ created_by?: string | null;
34344
+ end_at: string;
34345
+ id?: string;
34346
+ notes?: string | null;
34347
+ start_at: string;
34348
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
34349
+ updated_at?: string;
34350
+ werkbon_id: string;
34351
+ };
34352
+ Update: {
34353
+ assigned_monteur_id?: string;
34354
+ created_at?: string;
34355
+ created_by?: string | null;
34356
+ end_at?: string;
34357
+ id?: string;
34358
+ notes?: string | null;
34359
+ start_at?: string;
34360
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
34361
+ updated_at?: string;
34362
+ werkbon_id?: string;
34363
+ };
34364
+ Relationships: [{
34365
+ foreignKeyName: "planning_items_werkbon_id_fkey";
34366
+ columns: ["werkbon_id"];
34367
+ isOneToOne: false;
34368
+ referencedRelation: "werkbonnen";
34369
+ referencedColumns: ["id"];
34370
+ }];
34371
+ };
31824
34372
  product_categories: {
31825
34373
  Row: {
31826
34374
  color: string;
@@ -31954,6 +34502,8 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31954
34502
  Row: {
31955
34503
  created_at: string;
31956
34504
  description: string | null;
34505
+ head_product_id: string | null;
34506
+ head_trade_item_floriday_id: string | null;
31957
34507
  id: string;
31958
34508
  is_active: boolean;
31959
34509
  name: string;
@@ -31963,6 +34513,8 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31963
34513
  Insert: {
31964
34514
  created_at?: string;
31965
34515
  description?: string | null;
34516
+ head_product_id?: string | null;
34517
+ head_trade_item_floriday_id?: string | null;
31966
34518
  id?: string;
31967
34519
  is_active?: boolean;
31968
34520
  name: string;
@@ -31972,13 +34524,21 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31972
34524
  Update: {
31973
34525
  created_at?: string;
31974
34526
  description?: string | null;
34527
+ head_product_id?: string | null;
34528
+ head_trade_item_floriday_id?: string | null;
31975
34529
  id?: string;
31976
34530
  is_active?: boolean;
31977
34531
  name?: string;
31978
34532
  tenant_id?: string;
31979
34533
  updated_at?: string;
31980
34534
  };
31981
- Relationships: [];
34535
+ Relationships: [{
34536
+ foreignKeyName: "product_groups_head_product_id_fkey";
34537
+ columns: ["head_product_id"];
34538
+ isOneToOne: false;
34539
+ referencedRelation: "products";
34540
+ referencedColumns: ["id"];
34541
+ }];
31982
34542
  };
31983
34543
  products: {
31984
34544
  Row: {
@@ -34529,6 +37089,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
34529
37089
  internal_notes: string | null;
34530
37090
  parent_werkbon_id: string | null;
34531
37091
  parsed_payload: import("../integrations/supabase/types").Json | null;
37092
+ planning_status: string;
34532
37093
  project_number: string | null;
34533
37094
  room_number: string | null;
34534
37095
  scheduled_end_time: string | null;
@@ -34536,6 +37097,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
34536
37097
  sequence_number: number;
34537
37098
  source_pdf_path: string | null;
34538
37099
  status: string;
37100
+ technician_id: string | null;
34539
37101
  technician_notes: string | null;
34540
37102
  technician_notes_raw: string | null;
34541
37103
  technician_task_description: string | null;
@@ -34556,6 +37118,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
34556
37118
  internal_notes?: string | null;
34557
37119
  parent_werkbon_id?: string | null;
34558
37120
  parsed_payload?: import("../integrations/supabase/types").Json | null;
37121
+ planning_status?: string;
34559
37122
  project_number?: string | null;
34560
37123
  room_number?: string | null;
34561
37124
  scheduled_end_time?: string | null;
@@ -34563,6 +37126,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
34563
37126
  sequence_number: number;
34564
37127
  source_pdf_path?: string | null;
34565
37128
  status?: string;
37129
+ technician_id?: string | null;
34566
37130
  technician_notes?: string | null;
34567
37131
  technician_notes_raw?: string | null;
34568
37132
  technician_task_description?: string | null;
@@ -34583,6 +37147,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
34583
37147
  internal_notes?: string | null;
34584
37148
  parent_werkbon_id?: string | null;
34585
37149
  parsed_payload?: import("../integrations/supabase/types").Json | null;
37150
+ planning_status?: string;
34586
37151
  project_number?: string | null;
34587
37152
  room_number?: string | null;
34588
37153
  scheduled_end_time?: string | null;
@@ -34590,6 +37155,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
34590
37155
  sequence_number?: number;
34591
37156
  source_pdf_path?: string | null;
34592
37157
  status?: string;
37158
+ technician_id?: string | null;
34593
37159
  technician_notes?: string | null;
34594
37160
  technician_notes_raw?: string | null;
34595
37161
  technician_task_description?: string | null;
@@ -34598,17 +37164,17 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
34598
37164
  work_address?: string | null;
34599
37165
  };
34600
37166
  Relationships: [{
34601
- foreignKeyName: "werkbonnen_customer_id_fkey";
34602
- columns: ["customer_id"];
34603
- isOneToOne: false;
34604
- referencedRelation: "customers";
34605
- referencedColumns: ["id"];
34606
- }, {
34607
37167
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
34608
37168
  columns: ["parent_werkbon_id"];
34609
37169
  isOneToOne: false;
34610
37170
  referencedRelation: "werkbonnen";
34611
37171
  referencedColumns: ["id"];
37172
+ }, {
37173
+ foreignKeyName: "werkbonnen_technician_id_fkey";
37174
+ columns: ["technician_id"];
37175
+ isOneToOne: false;
37176
+ referencedRelation: "monteurs";
37177
+ referencedColumns: ["id"];
34612
37178
  }];
34613
37179
  };
34614
37180
  work_order_monteurs: {
@@ -35327,6 +37893,21 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
35327
37893
  };
35328
37894
  Returns: string;
35329
37895
  };
37896
+ ai_usage_by_module: {
37897
+ Args: {
37898
+ _from: string;
37899
+ _to: string;
37900
+ };
37901
+ Returns: {
37902
+ calls: number;
37903
+ consumer_module_id: string;
37904
+ cost_usd: number;
37905
+ errors: number;
37906
+ input_tokens: number;
37907
+ output_tokens: number;
37908
+ total_tokens: number;
37909
+ }[];
37910
+ };
35330
37911
  apply_stock_consumption: {
35331
37912
  Args: {
35332
37913
  p_order_id: string;
@@ -35475,6 +38056,12 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
35475
38056
  Args: never;
35476
38057
  Returns: string;
35477
38058
  };
38059
+ custom_access_token_hook: {
38060
+ Args: {
38061
+ event: import("../integrations/supabase/types").Json;
38062
+ };
38063
+ Returns: import("../integrations/supabase/types").Json;
38064
+ };
35478
38065
  dashboard_alert_counts: {
35479
38066
  Args: never;
35480
38067
  Returns: import("../integrations/supabase/types").Json;
@@ -35810,6 +38397,14 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
35810
38397
  };
35811
38398
  Returns: string;
35812
38399
  };
38400
+ has_module_permission: {
38401
+ Args: {
38402
+ _min: string;
38403
+ _module_id: string;
38404
+ _user_id: string;
38405
+ };
38406
+ Returns: boolean;
38407
+ };
35813
38408
  has_role: {
35814
38409
  Args: {
35815
38410
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -35835,6 +38430,20 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
35835
38430
  };
35836
38431
  Returns: boolean;
35837
38432
  };
38433
+ jwt_has_role: {
38434
+ Args: {
38435
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
38436
+ };
38437
+ Returns: boolean;
38438
+ };
38439
+ list_monteurs: {
38440
+ Args: never;
38441
+ Returns: {
38442
+ display_name: string;
38443
+ email: string;
38444
+ user_id: string;
38445
+ }[];
38446
+ };
35838
38447
  local_effective_price: {
35839
38448
  Args: {
35840
38449
  _customer_id: string;
@@ -35851,6 +38460,22 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
35851
38460
  source_id: string;
35852
38461
  }[];
35853
38462
  };
38463
+ log_ai_call: {
38464
+ Args: {
38465
+ _consumer_module_id: string;
38466
+ _cost_usd: number;
38467
+ _duration_ms: number;
38468
+ _error_code: string;
38469
+ _error_message: string;
38470
+ _input_tokens: number;
38471
+ _model_slug: string;
38472
+ _output_tokens: number;
38473
+ _provider_slug: string;
38474
+ _status: string;
38475
+ _total_tokens: number;
38476
+ };
38477
+ Returns: string;
38478
+ };
35854
38479
  mark_offer_clicked: {
35855
38480
  Args: {
35856
38481
  p_code: string;
@@ -35863,6 +38488,12 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
35863
38488
  };
35864
38489
  Returns: undefined;
35865
38490
  };
38491
+ mark_shipment_shipped: {
38492
+ Args: {
38493
+ p_shipment_id: string;
38494
+ };
38495
+ Returns: undefined;
38496
+ };
35866
38497
  next_order_number: {
35867
38498
  Args: {
35868
38499
  p_prefix: string;
@@ -36339,9 +38970,12 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
36339
38970
  };
36340
38971
  };
36341
38972
  Enums: {
36342
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
38973
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
36343
38974
  exact_env: "staging" | "live";
36344
38975
  exact_push_status: "pending" | "sent" | "error";
38976
+ itk_customer_segment: "Business" | "Private";
38977
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
38978
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
36345
38979
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
36346
38980
  };
36347
38981
  CompositeTypes: { [_ in never]: never; };
@@ -36637,6 +39271,57 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
36637
39271
  referencedColumns: ["id"];
36638
39272
  }];
36639
39273
  };
39274
+ ai_call_log: {
39275
+ Row: {
39276
+ consumer_module_id: string;
39277
+ cost_usd: number | null;
39278
+ created_at: string;
39279
+ created_by: string | null;
39280
+ duration_ms: number | null;
39281
+ error_code: string | null;
39282
+ error_message: string | null;
39283
+ id: string;
39284
+ input_tokens: number;
39285
+ model_slug: string | null;
39286
+ output_tokens: number;
39287
+ provider_slug: string | null;
39288
+ status: string;
39289
+ total_tokens: number;
39290
+ };
39291
+ Insert: {
39292
+ consumer_module_id: string;
39293
+ cost_usd?: number | null;
39294
+ created_at?: string;
39295
+ created_by?: string | null;
39296
+ duration_ms?: number | null;
39297
+ error_code?: string | null;
39298
+ error_message?: string | null;
39299
+ id?: string;
39300
+ input_tokens?: number;
39301
+ model_slug?: string | null;
39302
+ output_tokens?: number;
39303
+ provider_slug?: string | null;
39304
+ status: string;
39305
+ total_tokens?: number;
39306
+ };
39307
+ Update: {
39308
+ consumer_module_id?: string;
39309
+ cost_usd?: number | null;
39310
+ created_at?: string;
39311
+ created_by?: string | null;
39312
+ duration_ms?: number | null;
39313
+ error_code?: string | null;
39314
+ error_message?: string | null;
39315
+ id?: string;
39316
+ input_tokens?: number;
39317
+ model_slug?: string | null;
39318
+ output_tokens?: number;
39319
+ provider_slug?: string | null;
39320
+ status?: string;
39321
+ total_tokens?: number;
39322
+ };
39323
+ Relationships: [];
39324
+ };
36640
39325
  ai_credentials: {
36641
39326
  Row: {
36642
39327
  active: boolean;
@@ -36673,6 +39358,36 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
36673
39358
  referencedColumns: ["id"];
36674
39359
  }];
36675
39360
  };
39361
+ ai_goals: {
39362
+ Row: {
39363
+ active: boolean;
39364
+ created_at: string;
39365
+ description: string | null;
39366
+ key: string;
39367
+ label: string;
39368
+ sort_order: number;
39369
+ updated_at: string;
39370
+ };
39371
+ Insert: {
39372
+ active?: boolean;
39373
+ created_at?: string;
39374
+ description?: string | null;
39375
+ key: string;
39376
+ label: string;
39377
+ sort_order?: number;
39378
+ updated_at?: string;
39379
+ };
39380
+ Update: {
39381
+ active?: boolean;
39382
+ created_at?: string;
39383
+ description?: string | null;
39384
+ key?: string;
39385
+ label?: string;
39386
+ sort_order?: number;
39387
+ updated_at?: string;
39388
+ };
39389
+ Relationships: [];
39390
+ };
36676
39391
  ai_model_pricing: {
36677
39392
  Row: {
36678
39393
  created_at: string;
@@ -37459,6 +40174,141 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
37459
40174
  };
37460
40175
  Relationships: [];
37461
40176
  };
40177
+ cart_planning_pick_times: {
40178
+ Row: {
40179
+ created_at: string;
40180
+ id: string;
40181
+ pot_size: string;
40182
+ seconds_per_cart: number;
40183
+ updated_at: string;
40184
+ };
40185
+ Insert: {
40186
+ created_at?: string;
40187
+ id?: string;
40188
+ pot_size: string;
40189
+ seconds_per_cart: number;
40190
+ updated_at?: string;
40191
+ };
40192
+ Update: {
40193
+ created_at?: string;
40194
+ id?: string;
40195
+ pot_size?: string;
40196
+ seconds_per_cart?: number;
40197
+ updated_at?: string;
40198
+ };
40199
+ Relationships: [];
40200
+ };
40201
+ cart_planning_product_overrides: {
40202
+ Row: {
40203
+ created_at: string;
40204
+ id: string;
40205
+ max_party_share_per_layer_pct_override: number | null;
40206
+ never_mix: boolean;
40207
+ notes: string | null;
40208
+ product_id: string;
40209
+ updated_at: string;
40210
+ };
40211
+ Insert: {
40212
+ created_at?: string;
40213
+ id?: string;
40214
+ max_party_share_per_layer_pct_override?: number | null;
40215
+ never_mix?: boolean;
40216
+ notes?: string | null;
40217
+ product_id: string;
40218
+ updated_at?: string;
40219
+ };
40220
+ Update: {
40221
+ created_at?: string;
40222
+ id?: string;
40223
+ max_party_share_per_layer_pct_override?: number | null;
40224
+ never_mix?: boolean;
40225
+ notes?: string | null;
40226
+ product_id?: string;
40227
+ updated_at?: string;
40228
+ };
40229
+ Relationships: [{
40230
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
40231
+ columns: ["product_id"];
40232
+ isOneToOne: true;
40233
+ referencedRelation: "products";
40234
+ referencedColumns: ["id"];
40235
+ }];
40236
+ };
40237
+ cart_planning_settings: {
40238
+ Row: {
40239
+ allow_editing_after_pickstation_send: boolean;
40240
+ buffer_grouping_mode: string;
40241
+ combine_floriday_orders: boolean;
40242
+ combine_floriday_orders_window: string;
40243
+ combine_orders_scope: string;
40244
+ default_workers: number;
40245
+ id: number;
40246
+ max_beladingen_per_layer: number;
40247
+ max_customers_per_cart: number;
40248
+ max_one_customer_per_layer: boolean;
40249
+ max_party_share_per_layer_pct: number;
40250
+ optimization_strategy: string;
40251
+ own_cart_from_layers: number;
40252
+ pick_time_mode: string;
40253
+ plants_per_day: number;
40254
+ plants_per_hour: number;
40255
+ require_same_carrier: boolean;
40256
+ require_same_crate_type: boolean;
40257
+ require_same_delivery_date: boolean;
40258
+ require_same_delivery_location: boolean;
40259
+ updated_at: string;
40260
+ updated_by: string | null;
40261
+ };
40262
+ Insert: {
40263
+ allow_editing_after_pickstation_send?: boolean;
40264
+ buffer_grouping_mode?: string;
40265
+ combine_floriday_orders?: boolean;
40266
+ combine_floriday_orders_window?: string;
40267
+ combine_orders_scope?: string;
40268
+ default_workers?: number;
40269
+ id?: number;
40270
+ max_beladingen_per_layer?: number;
40271
+ max_customers_per_cart?: number;
40272
+ max_one_customer_per_layer?: boolean;
40273
+ max_party_share_per_layer_pct?: number;
40274
+ optimization_strategy?: string;
40275
+ own_cart_from_layers?: number;
40276
+ pick_time_mode?: string;
40277
+ plants_per_day?: number;
40278
+ plants_per_hour?: number;
40279
+ require_same_carrier?: boolean;
40280
+ require_same_crate_type?: boolean;
40281
+ require_same_delivery_date?: boolean;
40282
+ require_same_delivery_location?: boolean;
40283
+ updated_at?: string;
40284
+ updated_by?: string | null;
40285
+ };
40286
+ Update: {
40287
+ allow_editing_after_pickstation_send?: boolean;
40288
+ buffer_grouping_mode?: string;
40289
+ combine_floriday_orders?: boolean;
40290
+ combine_floriday_orders_window?: string;
40291
+ combine_orders_scope?: string;
40292
+ default_workers?: number;
40293
+ id?: number;
40294
+ max_beladingen_per_layer?: number;
40295
+ max_customers_per_cart?: number;
40296
+ max_one_customer_per_layer?: boolean;
40297
+ max_party_share_per_layer_pct?: number;
40298
+ optimization_strategy?: string;
40299
+ own_cart_from_layers?: number;
40300
+ pick_time_mode?: string;
40301
+ plants_per_day?: number;
40302
+ plants_per_hour?: number;
40303
+ require_same_carrier?: boolean;
40304
+ require_same_crate_type?: boolean;
40305
+ require_same_delivery_date?: boolean;
40306
+ require_same_delivery_location?: boolean;
40307
+ updated_at?: string;
40308
+ updated_by?: string | null;
40309
+ };
40310
+ Relationships: [];
40311
+ };
37462
40312
  cart_replan_queue: {
37463
40313
  Row: {
37464
40314
  attempts: number;
@@ -37489,6 +40339,39 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
37489
40339
  referencedColumns: ["id"];
37490
40340
  }];
37491
40341
  };
40342
+ cart_types: {
40343
+ Row: {
40344
+ created_at: string;
40345
+ id: string;
40346
+ is_default: boolean;
40347
+ layer_length_cm: number;
40348
+ layer_width_cm: number;
40349
+ layers_per_cart: number;
40350
+ name: string;
40351
+ updated_at: string;
40352
+ };
40353
+ Insert: {
40354
+ created_at?: string;
40355
+ id?: string;
40356
+ is_default?: boolean;
40357
+ layer_length_cm: number;
40358
+ layer_width_cm: number;
40359
+ layers_per_cart?: number;
40360
+ name: string;
40361
+ updated_at?: string;
40362
+ };
40363
+ Update: {
40364
+ created_at?: string;
40365
+ id?: string;
40366
+ is_default?: boolean;
40367
+ layer_length_cm?: number;
40368
+ layer_width_cm?: number;
40369
+ layers_per_cart?: number;
40370
+ name?: string;
40371
+ updated_at?: string;
40372
+ };
40373
+ Relationships: [];
40374
+ };
37492
40375
  catalog_articles_cache: {
37493
40376
  Row: {
37494
40377
  created_at: string;
@@ -37576,6 +40459,36 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
37576
40459
  };
37577
40460
  Relationships: [];
37578
40461
  };
40462
+ crate_types: {
40463
+ Row: {
40464
+ created_at: string;
40465
+ id: string;
40466
+ length_cm: number;
40467
+ name: string;
40468
+ plants_per_crate: number;
40469
+ updated_at: string;
40470
+ width_cm: number;
40471
+ };
40472
+ Insert: {
40473
+ created_at?: string;
40474
+ id?: string;
40475
+ length_cm: number;
40476
+ name: string;
40477
+ plants_per_crate?: number;
40478
+ updated_at?: string;
40479
+ width_cm: number;
40480
+ };
40481
+ Update: {
40482
+ created_at?: string;
40483
+ id?: string;
40484
+ length_cm?: number;
40485
+ name?: string;
40486
+ plants_per_crate?: number;
40487
+ updated_at?: string;
40488
+ width_cm?: number;
40489
+ };
40490
+ Relationships: [];
40491
+ };
37579
40492
  customer_audit_log: {
37580
40493
  Row: {
37581
40494
  action: string;
@@ -42115,6 +45028,288 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
42115
45028
  };
42116
45029
  Relationships: [];
42117
45030
  };
45031
+ itk_contact_persons: {
45032
+ Row: {
45033
+ created_at: string;
45034
+ customer_id: string;
45035
+ email: string | null;
45036
+ id: string;
45037
+ name: string;
45038
+ phone: string | null;
45039
+ role: string | null;
45040
+ updated_at: string;
45041
+ };
45042
+ Insert: {
45043
+ created_at?: string;
45044
+ customer_id: string;
45045
+ email?: string | null;
45046
+ id?: string;
45047
+ name: string;
45048
+ phone?: string | null;
45049
+ role?: string | null;
45050
+ updated_at?: string;
45051
+ };
45052
+ Update: {
45053
+ created_at?: string;
45054
+ customer_id?: string;
45055
+ email?: string | null;
45056
+ id?: string;
45057
+ name?: string;
45058
+ phone?: string | null;
45059
+ role?: string | null;
45060
+ updated_at?: string;
45061
+ };
45062
+ Relationships: [{
45063
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
45064
+ columns: ["customer_id"];
45065
+ isOneToOne: false;
45066
+ referencedRelation: "itk_customers";
45067
+ referencedColumns: ["id"];
45068
+ }];
45069
+ };
45070
+ itk_customer_dynamic_values: {
45071
+ Row: {
45072
+ created_at: string;
45073
+ customer_id: string;
45074
+ field_id: string;
45075
+ id: string;
45076
+ updated_at: string;
45077
+ value: string | null;
45078
+ };
45079
+ Insert: {
45080
+ created_at?: string;
45081
+ customer_id: string;
45082
+ field_id: string;
45083
+ id?: string;
45084
+ updated_at?: string;
45085
+ value?: string | null;
45086
+ };
45087
+ Update: {
45088
+ created_at?: string;
45089
+ customer_id?: string;
45090
+ field_id?: string;
45091
+ id?: string;
45092
+ updated_at?: string;
45093
+ value?: string | null;
45094
+ };
45095
+ Relationships: [{
45096
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
45097
+ columns: ["customer_id"];
45098
+ isOneToOne: false;
45099
+ referencedRelation: "itk_customers";
45100
+ referencedColumns: ["id"];
45101
+ }, {
45102
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
45103
+ columns: ["field_id"];
45104
+ isOneToOne: false;
45105
+ referencedRelation: "itk_dynamic_fields";
45106
+ referencedColumns: ["id"];
45107
+ }];
45108
+ };
45109
+ itk_customer_notes: {
45110
+ Row: {
45111
+ body: string;
45112
+ created_at: string;
45113
+ created_by: string | null;
45114
+ customer_id: string;
45115
+ id: string;
45116
+ note_type: string;
45117
+ updated_at: string;
45118
+ };
45119
+ Insert: {
45120
+ body: string;
45121
+ created_at?: string;
45122
+ created_by?: string | null;
45123
+ customer_id: string;
45124
+ id?: string;
45125
+ note_type?: string;
45126
+ updated_at?: string;
45127
+ };
45128
+ Update: {
45129
+ body?: string;
45130
+ created_at?: string;
45131
+ created_by?: string | null;
45132
+ customer_id?: string;
45133
+ id?: string;
45134
+ note_type?: string;
45135
+ updated_at?: string;
45136
+ };
45137
+ Relationships: [{
45138
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
45139
+ columns: ["customer_id"];
45140
+ isOneToOne: false;
45141
+ referencedRelation: "itk_customers";
45142
+ referencedColumns: ["id"];
45143
+ }];
45144
+ };
45145
+ itk_customers: {
45146
+ Row: {
45147
+ billing_city: string | null;
45148
+ billing_postcode: string | null;
45149
+ billing_street: string | null;
45150
+ created_at: string;
45151
+ general_email: string | null;
45152
+ general_phone: string | null;
45153
+ id: string;
45154
+ legacy_customer_id: string | null;
45155
+ name: string;
45156
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
45157
+ updated_at: string;
45158
+ };
45159
+ Insert: {
45160
+ billing_city?: string | null;
45161
+ billing_postcode?: string | null;
45162
+ billing_street?: string | null;
45163
+ created_at?: string;
45164
+ general_email?: string | null;
45165
+ general_phone?: string | null;
45166
+ id?: string;
45167
+ legacy_customer_id?: string | null;
45168
+ name: string;
45169
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
45170
+ updated_at?: string;
45171
+ };
45172
+ Update: {
45173
+ billing_city?: string | null;
45174
+ billing_postcode?: string | null;
45175
+ billing_street?: string | null;
45176
+ created_at?: string;
45177
+ general_email?: string | null;
45178
+ general_phone?: string | null;
45179
+ id?: string;
45180
+ legacy_customer_id?: string | null;
45181
+ name?: string;
45182
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
45183
+ updated_at?: string;
45184
+ };
45185
+ Relationships: [{
45186
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
45187
+ columns: ["legacy_customer_id"];
45188
+ isOneToOne: false;
45189
+ referencedRelation: "customers";
45190
+ referencedColumns: ["id"];
45191
+ }];
45192
+ };
45193
+ itk_dynamic_fields: {
45194
+ Row: {
45195
+ created_at: string;
45196
+ field_name: string;
45197
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
45198
+ id: string;
45199
+ options: import("../integrations/supabase/types").Json;
45200
+ sort_order: number;
45201
+ updated_at: string;
45202
+ };
45203
+ Insert: {
45204
+ created_at?: string;
45205
+ field_name: string;
45206
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
45207
+ id?: string;
45208
+ options?: import("../integrations/supabase/types").Json;
45209
+ sort_order?: number;
45210
+ updated_at?: string;
45211
+ };
45212
+ Update: {
45213
+ created_at?: string;
45214
+ field_name?: string;
45215
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
45216
+ id?: string;
45217
+ options?: import("../integrations/supabase/types").Json;
45218
+ sort_order?: number;
45219
+ updated_at?: string;
45220
+ };
45221
+ Relationships: [];
45222
+ };
45223
+ itk_work_locations: {
45224
+ Row: {
45225
+ city: string | null;
45226
+ created_at: string;
45227
+ customer_id: string;
45228
+ id: string;
45229
+ instructions: string | null;
45230
+ label: string;
45231
+ latitude: number | null;
45232
+ longitude: number | null;
45233
+ postcode: string | null;
45234
+ street: string | null;
45235
+ updated_at: string;
45236
+ };
45237
+ Insert: {
45238
+ city?: string | null;
45239
+ created_at?: string;
45240
+ customer_id: string;
45241
+ id?: string;
45242
+ instructions?: string | null;
45243
+ label: string;
45244
+ latitude?: number | null;
45245
+ longitude?: number | null;
45246
+ postcode?: string | null;
45247
+ street?: string | null;
45248
+ updated_at?: string;
45249
+ };
45250
+ Update: {
45251
+ city?: string | null;
45252
+ created_at?: string;
45253
+ customer_id?: string;
45254
+ id?: string;
45255
+ instructions?: string | null;
45256
+ label?: string;
45257
+ latitude?: number | null;
45258
+ longitude?: number | null;
45259
+ postcode?: string | null;
45260
+ street?: string | null;
45261
+ updated_at?: string;
45262
+ };
45263
+ Relationships: [{
45264
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
45265
+ columns: ["customer_id"];
45266
+ isOneToOne: false;
45267
+ referencedRelation: "itk_customers";
45268
+ referencedColumns: ["id"];
45269
+ }];
45270
+ };
45271
+ leave_requests: {
45272
+ Row: {
45273
+ created_at: string;
45274
+ end_date: string;
45275
+ id: string;
45276
+ reason: string | null;
45277
+ start_date: string;
45278
+ status: string;
45279
+ tenant_id: string;
45280
+ updated_at: string;
45281
+ user_id: string;
45282
+ };
45283
+ Insert: {
45284
+ created_at?: string;
45285
+ end_date: string;
45286
+ id?: string;
45287
+ reason?: string | null;
45288
+ start_date: string;
45289
+ status?: string;
45290
+ tenant_id?: string;
45291
+ updated_at?: string;
45292
+ user_id: string;
45293
+ };
45294
+ Update: {
45295
+ created_at?: string;
45296
+ end_date?: string;
45297
+ id?: string;
45298
+ reason?: string | null;
45299
+ start_date?: string;
45300
+ status?: string;
45301
+ tenant_id?: string;
45302
+ updated_at?: string;
45303
+ user_id?: string;
45304
+ };
45305
+ Relationships: [{
45306
+ foreignKeyName: "leave_requests_user_id_fkey";
45307
+ columns: ["user_id"];
45308
+ isOneToOne: false;
45309
+ referencedRelation: "monteurs";
45310
+ referencedColumns: ["id"];
45311
+ }];
45312
+ };
42118
45313
  local_customer_agreements: {
42119
45314
  Row: {
42120
45315
  base_price: number | null;
@@ -42766,6 +45961,33 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
42766
45961
  };
42767
45962
  Relationships: [];
42768
45963
  };
45964
+ module_permissions: {
45965
+ Row: {
45966
+ created_at: string;
45967
+ id: string;
45968
+ module_id: string;
45969
+ permission: string;
45970
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
45971
+ updated_at: string;
45972
+ };
45973
+ Insert: {
45974
+ created_at?: string;
45975
+ id?: string;
45976
+ module_id: string;
45977
+ permission: string;
45978
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
45979
+ updated_at?: string;
45980
+ };
45981
+ Update: {
45982
+ created_at?: string;
45983
+ id?: string;
45984
+ module_id?: string;
45985
+ permission?: string;
45986
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
45987
+ updated_at?: string;
45988
+ };
45989
+ Relationships: [];
45990
+ };
42769
45991
  monteurs: {
42770
45992
  Row: {
42771
45993
  avatar_url: string | null;
@@ -43495,6 +46717,42 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43495
46717
  };
43496
46718
  Relationships: [];
43497
46719
  };
46720
+ order_buffers: {
46721
+ Row: {
46722
+ buffer_key: string;
46723
+ created_at: string;
46724
+ customer_id: string | null;
46725
+ grouping_mode: string;
46726
+ id: string;
46727
+ pickup_date: string | null;
46728
+ pickup_location: string | null;
46729
+ plan_locked_at: string | null;
46730
+ updated_at: string;
46731
+ };
46732
+ Insert: {
46733
+ buffer_key: string;
46734
+ created_at?: string;
46735
+ customer_id?: string | null;
46736
+ grouping_mode: string;
46737
+ id?: string;
46738
+ pickup_date?: string | null;
46739
+ pickup_location?: string | null;
46740
+ plan_locked_at?: string | null;
46741
+ updated_at?: string;
46742
+ };
46743
+ Update: {
46744
+ buffer_key?: string;
46745
+ created_at?: string;
46746
+ customer_id?: string | null;
46747
+ grouping_mode?: string;
46748
+ id?: string;
46749
+ pickup_date?: string | null;
46750
+ pickup_location?: string | null;
46751
+ plan_locked_at?: string | null;
46752
+ updated_at?: string;
46753
+ };
46754
+ Relationships: [];
46755
+ };
43498
46756
  order_cart_items: {
43499
46757
  Row: {
43500
46758
  cart_id: string;
@@ -43561,6 +46819,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43561
46819
  order_carts: {
43562
46820
  Row: {
43563
46821
  algorithm_version: number;
46822
+ buffer_id: string | null;
43564
46823
  cart_number: number;
43565
46824
  created_at: string;
43566
46825
  id: string;
@@ -43568,13 +46827,14 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43568
46827
  is_complete: boolean;
43569
46828
  notes: string | null;
43570
46829
  occupancy_pct: number;
43571
- order_id: string;
46830
+ order_id: string | null;
43572
46831
  source: string;
43573
46832
  total_layers_used: number;
43574
46833
  updated_at: string;
43575
46834
  };
43576
46835
  Insert: {
43577
46836
  algorithm_version?: number;
46837
+ buffer_id?: string | null;
43578
46838
  cart_number: number;
43579
46839
  created_at?: string;
43580
46840
  id?: string;
@@ -43582,13 +46842,14 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43582
46842
  is_complete?: boolean;
43583
46843
  notes?: string | null;
43584
46844
  occupancy_pct?: number;
43585
- order_id: string;
46845
+ order_id?: string | null;
43586
46846
  source?: string;
43587
46847
  total_layers_used?: number;
43588
46848
  updated_at?: string;
43589
46849
  };
43590
46850
  Update: {
43591
46851
  algorithm_version?: number;
46852
+ buffer_id?: string | null;
43592
46853
  cart_number?: number;
43593
46854
  created_at?: string;
43594
46855
  id?: string;
@@ -43596,12 +46857,18 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43596
46857
  is_complete?: boolean;
43597
46858
  notes?: string | null;
43598
46859
  occupancy_pct?: number;
43599
- order_id?: string;
46860
+ order_id?: string | null;
43600
46861
  source?: string;
43601
46862
  total_layers_used?: number;
43602
46863
  updated_at?: string;
43603
46864
  };
43604
46865
  Relationships: [{
46866
+ foreignKeyName: "order_carts_buffer_id_fkey";
46867
+ columns: ["buffer_id"];
46868
+ isOneToOne: false;
46869
+ referencedRelation: "order_buffers";
46870
+ referencedColumns: ["id"];
46871
+ }, {
43605
46872
  foreignKeyName: "order_carts_order_id_fkey";
43606
46873
  columns: ["order_id"];
43607
46874
  isOneToOne: false;
@@ -43738,15 +47005,117 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43738
47005
  };
43739
47006
  Relationships: [];
43740
47007
  };
47008
+ order_shipment_items: {
47009
+ Row: {
47010
+ created_at: string;
47011
+ id: string;
47012
+ order_item_id: string;
47013
+ product_id: string | null;
47014
+ product_name: string;
47015
+ quantity: number;
47016
+ shipment_id: string;
47017
+ updated_at: string;
47018
+ };
47019
+ Insert: {
47020
+ created_at?: string;
47021
+ id?: string;
47022
+ order_item_id: string;
47023
+ product_id?: string | null;
47024
+ product_name: string;
47025
+ quantity: number;
47026
+ shipment_id: string;
47027
+ updated_at?: string;
47028
+ };
47029
+ Update: {
47030
+ created_at?: string;
47031
+ id?: string;
47032
+ order_item_id?: string;
47033
+ product_id?: string | null;
47034
+ product_name?: string;
47035
+ quantity?: number;
47036
+ shipment_id?: string;
47037
+ updated_at?: string;
47038
+ };
47039
+ Relationships: [{
47040
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
47041
+ columns: ["order_item_id"];
47042
+ isOneToOne: false;
47043
+ referencedRelation: "order_items";
47044
+ referencedColumns: ["id"];
47045
+ }, {
47046
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
47047
+ columns: ["shipment_id"];
47048
+ isOneToOne: false;
47049
+ referencedRelation: "order_shipments";
47050
+ referencedColumns: ["id"];
47051
+ }];
47052
+ };
47053
+ order_shipments: {
47054
+ Row: {
47055
+ carrier_id: string | null;
47056
+ created_at: string;
47057
+ delivery_date: string | null;
47058
+ delivery_location_id: string | null;
47059
+ id: string;
47060
+ notes: string | null;
47061
+ order_id: string;
47062
+ shipment_number: number;
47063
+ shipped_at: string | null;
47064
+ status: string;
47065
+ updated_at: string;
47066
+ };
47067
+ Insert: {
47068
+ carrier_id?: string | null;
47069
+ created_at?: string;
47070
+ delivery_date?: string | null;
47071
+ delivery_location_id?: string | null;
47072
+ id?: string;
47073
+ notes?: string | null;
47074
+ order_id: string;
47075
+ shipment_number: number;
47076
+ shipped_at?: string | null;
47077
+ status?: string;
47078
+ updated_at?: string;
47079
+ };
47080
+ Update: {
47081
+ carrier_id?: string | null;
47082
+ created_at?: string;
47083
+ delivery_date?: string | null;
47084
+ delivery_location_id?: string | null;
47085
+ id?: string;
47086
+ notes?: string | null;
47087
+ order_id?: string;
47088
+ shipment_number?: number;
47089
+ shipped_at?: string | null;
47090
+ status?: string;
47091
+ updated_at?: string;
47092
+ };
47093
+ Relationships: [{
47094
+ foreignKeyName: "order_shipments_carrier_id_fkey";
47095
+ columns: ["carrier_id"];
47096
+ isOneToOne: false;
47097
+ referencedRelation: "carriers";
47098
+ referencedColumns: ["id"];
47099
+ }, {
47100
+ foreignKeyName: "order_shipments_order_id_fkey";
47101
+ columns: ["order_id"];
47102
+ isOneToOne: false;
47103
+ referencedRelation: "orders";
47104
+ referencedColumns: ["id"];
47105
+ }];
47106
+ };
43741
47107
  orders: {
43742
47108
  Row: {
47109
+ buffer_id: string | null;
43743
47110
  created_at: string;
43744
47111
  custom_fields: import("../integrations/supabase/types").Json;
43745
47112
  customer_id: string | null;
43746
47113
  customer_name: string;
43747
47114
  deleted_at: string | null;
43748
- delivery_date: string;
47115
+ delivery_date: string | null;
47116
+ floriday_sales_order_id: string | null;
43749
47117
  id: string;
47118
+ is_reservation: boolean;
43750
47119
  notes: string | null;
43751
47120
  order_date: string;
43752
47121
  order_number: string;
@@ -43758,13 +47127,16 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43758
47127
  updated_at: string;
43759
47128
  };
43760
47129
  Insert: {
47130
+ buffer_id?: string | null;
43761
47131
  created_at?: string;
43762
47132
  custom_fields?: import("../integrations/supabase/types").Json;
43763
47133
  customer_id?: string | null;
43764
47134
  customer_name?: string;
43765
47135
  deleted_at?: string | null;
43766
- delivery_date: string;
47136
+ delivery_date?: string | null;
47137
+ floriday_sales_order_id?: string | null;
43767
47138
  id?: string;
47139
+ is_reservation?: boolean;
43768
47140
  notes?: string | null;
43769
47141
  order_date?: string;
43770
47142
  order_number: string;
@@ -43776,13 +47148,16 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43776
47148
  updated_at?: string;
43777
47149
  };
43778
47150
  Update: {
47151
+ buffer_id?: string | null;
43779
47152
  created_at?: string;
43780
47153
  custom_fields?: import("../integrations/supabase/types").Json;
43781
47154
  customer_id?: string | null;
43782
47155
  customer_name?: string;
43783
47156
  deleted_at?: string | null;
43784
- delivery_date?: string;
47157
+ delivery_date?: string | null;
47158
+ floriday_sales_order_id?: string | null;
43785
47159
  id?: string;
47160
+ is_reservation?: boolean;
43786
47161
  notes?: string | null;
43787
47162
  order_date?: string;
43788
47163
  order_number?: string;
@@ -43794,6 +47169,12 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43794
47169
  updated_at?: string;
43795
47170
  };
43796
47171
  Relationships: [{
47172
+ foreignKeyName: "orders_buffer_id_fkey";
47173
+ columns: ["buffer_id"];
47174
+ isOneToOne: false;
47175
+ referencedRelation: "order_buffers";
47176
+ referencedColumns: ["id"];
47177
+ }, {
43797
47178
  foreignKeyName: "orders_customer_id_fkey";
43798
47179
  columns: ["customer_id"];
43799
47180
  isOneToOne: false;
@@ -43924,6 +47305,51 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43924
47305
  };
43925
47306
  Relationships: [];
43926
47307
  };
47308
+ planning_items: {
47309
+ Row: {
47310
+ assigned_monteur_id: string;
47311
+ created_at: string;
47312
+ created_by: string | null;
47313
+ end_at: string;
47314
+ id: string;
47315
+ notes: string | null;
47316
+ start_at: string;
47317
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
47318
+ updated_at: string;
47319
+ werkbon_id: string;
47320
+ };
47321
+ Insert: {
47322
+ assigned_monteur_id: string;
47323
+ created_at?: string;
47324
+ created_by?: string | null;
47325
+ end_at: string;
47326
+ id?: string;
47327
+ notes?: string | null;
47328
+ start_at: string;
47329
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
47330
+ updated_at?: string;
47331
+ werkbon_id: string;
47332
+ };
47333
+ Update: {
47334
+ assigned_monteur_id?: string;
47335
+ created_at?: string;
47336
+ created_by?: string | null;
47337
+ end_at?: string;
47338
+ id?: string;
47339
+ notes?: string | null;
47340
+ start_at?: string;
47341
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
47342
+ updated_at?: string;
47343
+ werkbon_id?: string;
47344
+ };
47345
+ Relationships: [{
47346
+ foreignKeyName: "planning_items_werkbon_id_fkey";
47347
+ columns: ["werkbon_id"];
47348
+ isOneToOne: false;
47349
+ referencedRelation: "werkbonnen";
47350
+ referencedColumns: ["id"];
47351
+ }];
47352
+ };
43927
47353
  product_categories: {
43928
47354
  Row: {
43929
47355
  color: string;
@@ -44057,6 +47483,8 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
44057
47483
  Row: {
44058
47484
  created_at: string;
44059
47485
  description: string | null;
47486
+ head_product_id: string | null;
47487
+ head_trade_item_floriday_id: string | null;
44060
47488
  id: string;
44061
47489
  is_active: boolean;
44062
47490
  name: string;
@@ -44066,6 +47494,8 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
44066
47494
  Insert: {
44067
47495
  created_at?: string;
44068
47496
  description?: string | null;
47497
+ head_product_id?: string | null;
47498
+ head_trade_item_floriday_id?: string | null;
44069
47499
  id?: string;
44070
47500
  is_active?: boolean;
44071
47501
  name: string;
@@ -44075,13 +47505,21 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
44075
47505
  Update: {
44076
47506
  created_at?: string;
44077
47507
  description?: string | null;
47508
+ head_product_id?: string | null;
47509
+ head_trade_item_floriday_id?: string | null;
44078
47510
  id?: string;
44079
47511
  is_active?: boolean;
44080
47512
  name?: string;
44081
47513
  tenant_id?: string;
44082
47514
  updated_at?: string;
44083
47515
  };
44084
- Relationships: [];
47516
+ Relationships: [{
47517
+ foreignKeyName: "product_groups_head_product_id_fkey";
47518
+ columns: ["head_product_id"];
47519
+ isOneToOne: false;
47520
+ referencedRelation: "products";
47521
+ referencedColumns: ["id"];
47522
+ }];
44085
47523
  };
44086
47524
  products: {
44087
47525
  Row: {
@@ -46632,6 +50070,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
46632
50070
  internal_notes: string | null;
46633
50071
  parent_werkbon_id: string | null;
46634
50072
  parsed_payload: import("../integrations/supabase/types").Json | null;
50073
+ planning_status: string;
46635
50074
  project_number: string | null;
46636
50075
  room_number: string | null;
46637
50076
  scheduled_end_time: string | null;
@@ -46639,6 +50078,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
46639
50078
  sequence_number: number;
46640
50079
  source_pdf_path: string | null;
46641
50080
  status: string;
50081
+ technician_id: string | null;
46642
50082
  technician_notes: string | null;
46643
50083
  technician_notes_raw: string | null;
46644
50084
  technician_task_description: string | null;
@@ -46659,6 +50099,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
46659
50099
  internal_notes?: string | null;
46660
50100
  parent_werkbon_id?: string | null;
46661
50101
  parsed_payload?: import("../integrations/supabase/types").Json | null;
50102
+ planning_status?: string;
46662
50103
  project_number?: string | null;
46663
50104
  room_number?: string | null;
46664
50105
  scheduled_end_time?: string | null;
@@ -46666,6 +50107,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
46666
50107
  sequence_number: number;
46667
50108
  source_pdf_path?: string | null;
46668
50109
  status?: string;
50110
+ technician_id?: string | null;
46669
50111
  technician_notes?: string | null;
46670
50112
  technician_notes_raw?: string | null;
46671
50113
  technician_task_description?: string | null;
@@ -46686,6 +50128,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
46686
50128
  internal_notes?: string | null;
46687
50129
  parent_werkbon_id?: string | null;
46688
50130
  parsed_payload?: import("../integrations/supabase/types").Json | null;
50131
+ planning_status?: string;
46689
50132
  project_number?: string | null;
46690
50133
  room_number?: string | null;
46691
50134
  scheduled_end_time?: string | null;
@@ -46693,6 +50136,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
46693
50136
  sequence_number?: number;
46694
50137
  source_pdf_path?: string | null;
46695
50138
  status?: string;
50139
+ technician_id?: string | null;
46696
50140
  technician_notes?: string | null;
46697
50141
  technician_notes_raw?: string | null;
46698
50142
  technician_task_description?: string | null;
@@ -46701,17 +50145,17 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
46701
50145
  work_address?: string | null;
46702
50146
  };
46703
50147
  Relationships: [{
46704
- foreignKeyName: "werkbonnen_customer_id_fkey";
46705
- columns: ["customer_id"];
46706
- isOneToOne: false;
46707
- referencedRelation: "customers";
46708
- referencedColumns: ["id"];
46709
- }, {
46710
50148
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
46711
50149
  columns: ["parent_werkbon_id"];
46712
50150
  isOneToOne: false;
46713
50151
  referencedRelation: "werkbonnen";
46714
50152
  referencedColumns: ["id"];
50153
+ }, {
50154
+ foreignKeyName: "werkbonnen_technician_id_fkey";
50155
+ columns: ["technician_id"];
50156
+ isOneToOne: false;
50157
+ referencedRelation: "monteurs";
50158
+ referencedColumns: ["id"];
46715
50159
  }];
46716
50160
  };
46717
50161
  work_order_monteurs: {
@@ -47430,6 +50874,21 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
47430
50874
  };
47431
50875
  Returns: string;
47432
50876
  };
50877
+ ai_usage_by_module: {
50878
+ Args: {
50879
+ _from: string;
50880
+ _to: string;
50881
+ };
50882
+ Returns: {
50883
+ calls: number;
50884
+ consumer_module_id: string;
50885
+ cost_usd: number;
50886
+ errors: number;
50887
+ input_tokens: number;
50888
+ output_tokens: number;
50889
+ total_tokens: number;
50890
+ }[];
50891
+ };
47433
50892
  apply_stock_consumption: {
47434
50893
  Args: {
47435
50894
  p_order_id: string;
@@ -47578,6 +51037,12 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
47578
51037
  Args: never;
47579
51038
  Returns: string;
47580
51039
  };
51040
+ custom_access_token_hook: {
51041
+ Args: {
51042
+ event: import("../integrations/supabase/types").Json;
51043
+ };
51044
+ Returns: import("../integrations/supabase/types").Json;
51045
+ };
47581
51046
  dashboard_alert_counts: {
47582
51047
  Args: never;
47583
51048
  Returns: import("../integrations/supabase/types").Json;
@@ -47913,6 +51378,14 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
47913
51378
  };
47914
51379
  Returns: string;
47915
51380
  };
51381
+ has_module_permission: {
51382
+ Args: {
51383
+ _min: string;
51384
+ _module_id: string;
51385
+ _user_id: string;
51386
+ };
51387
+ Returns: boolean;
51388
+ };
47916
51389
  has_role: {
47917
51390
  Args: {
47918
51391
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -47938,6 +51411,20 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
47938
51411
  };
47939
51412
  Returns: boolean;
47940
51413
  };
51414
+ jwt_has_role: {
51415
+ Args: {
51416
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
51417
+ };
51418
+ Returns: boolean;
51419
+ };
51420
+ list_monteurs: {
51421
+ Args: never;
51422
+ Returns: {
51423
+ display_name: string;
51424
+ email: string;
51425
+ user_id: string;
51426
+ }[];
51427
+ };
47941
51428
  local_effective_price: {
47942
51429
  Args: {
47943
51430
  _customer_id: string;
@@ -47954,6 +51441,22 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
47954
51441
  source_id: string;
47955
51442
  }[];
47956
51443
  };
51444
+ log_ai_call: {
51445
+ Args: {
51446
+ _consumer_module_id: string;
51447
+ _cost_usd: number;
51448
+ _duration_ms: number;
51449
+ _error_code: string;
51450
+ _error_message: string;
51451
+ _input_tokens: number;
51452
+ _model_slug: string;
51453
+ _output_tokens: number;
51454
+ _provider_slug: string;
51455
+ _status: string;
51456
+ _total_tokens: number;
51457
+ };
51458
+ Returns: string;
51459
+ };
47957
51460
  mark_offer_clicked: {
47958
51461
  Args: {
47959
51462
  p_code: string;
@@ -47966,6 +51469,12 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
47966
51469
  };
47967
51470
  Returns: undefined;
47968
51471
  };
51472
+ mark_shipment_shipped: {
51473
+ Args: {
51474
+ p_shipment_id: string;
51475
+ };
51476
+ Returns: undefined;
51477
+ };
47969
51478
  next_order_number: {
47970
51479
  Args: {
47971
51480
  p_prefix: string;
@@ -48442,9 +51951,12 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
48442
51951
  };
48443
51952
  };
48444
51953
  Enums: {
48445
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
51954
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
48446
51955
  exact_env: "staging" | "live";
48447
51956
  exact_push_status: "pending" | "sent" | "error";
51957
+ itk_customer_segment: "Business" | "Private";
51958
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
51959
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
48448
51960
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
48449
51961
  };
48450
51962
  CompositeTypes: { [_ in never]: never; };