@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
@@ -303,6 +303,57 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
303
303
  referencedColumns: ["id"];
304
304
  }];
305
305
  };
306
+ ai_call_log: {
307
+ Row: {
308
+ consumer_module_id: string;
309
+ cost_usd: number | null;
310
+ created_at: string;
311
+ created_by: string | null;
312
+ duration_ms: number | null;
313
+ error_code: string | null;
314
+ error_message: string | null;
315
+ id: string;
316
+ input_tokens: number;
317
+ model_slug: string | null;
318
+ output_tokens: number;
319
+ provider_slug: string | null;
320
+ status: string;
321
+ total_tokens: number;
322
+ };
323
+ Insert: {
324
+ consumer_module_id: string;
325
+ cost_usd?: number | null;
326
+ created_at?: string;
327
+ created_by?: string | null;
328
+ duration_ms?: number | null;
329
+ error_code?: string | null;
330
+ error_message?: string | null;
331
+ id?: string;
332
+ input_tokens?: number;
333
+ model_slug?: string | null;
334
+ output_tokens?: number;
335
+ provider_slug?: string | null;
336
+ status: string;
337
+ total_tokens?: number;
338
+ };
339
+ Update: {
340
+ consumer_module_id?: string;
341
+ cost_usd?: number | null;
342
+ created_at?: string;
343
+ created_by?: string | null;
344
+ duration_ms?: number | null;
345
+ error_code?: string | null;
346
+ error_message?: string | null;
347
+ id?: string;
348
+ input_tokens?: number;
349
+ model_slug?: string | null;
350
+ output_tokens?: number;
351
+ provider_slug?: string | null;
352
+ status?: string;
353
+ total_tokens?: number;
354
+ };
355
+ Relationships: [];
356
+ };
306
357
  ai_credentials: {
307
358
  Row: {
308
359
  active: boolean;
@@ -339,6 +390,36 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
339
390
  referencedColumns: ["id"];
340
391
  }];
341
392
  };
393
+ ai_goals: {
394
+ Row: {
395
+ active: boolean;
396
+ created_at: string;
397
+ description: string | null;
398
+ key: string;
399
+ label: string;
400
+ sort_order: number;
401
+ updated_at: string;
402
+ };
403
+ Insert: {
404
+ active?: boolean;
405
+ created_at?: string;
406
+ description?: string | null;
407
+ key: string;
408
+ label: string;
409
+ sort_order?: number;
410
+ updated_at?: string;
411
+ };
412
+ Update: {
413
+ active?: boolean;
414
+ created_at?: string;
415
+ description?: string | null;
416
+ key?: string;
417
+ label?: string;
418
+ sort_order?: number;
419
+ updated_at?: string;
420
+ };
421
+ Relationships: [];
422
+ };
342
423
  ai_model_pricing: {
343
424
  Row: {
344
425
  created_at: string;
@@ -1125,6 +1206,141 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
1125
1206
  };
1126
1207
  Relationships: [];
1127
1208
  };
1209
+ cart_planning_pick_times: {
1210
+ Row: {
1211
+ created_at: string;
1212
+ id: string;
1213
+ pot_size: string;
1214
+ seconds_per_cart: number;
1215
+ updated_at: string;
1216
+ };
1217
+ Insert: {
1218
+ created_at?: string;
1219
+ id?: string;
1220
+ pot_size: string;
1221
+ seconds_per_cart: number;
1222
+ updated_at?: string;
1223
+ };
1224
+ Update: {
1225
+ created_at?: string;
1226
+ id?: string;
1227
+ pot_size?: string;
1228
+ seconds_per_cart?: number;
1229
+ updated_at?: string;
1230
+ };
1231
+ Relationships: [];
1232
+ };
1233
+ cart_planning_product_overrides: {
1234
+ Row: {
1235
+ created_at: string;
1236
+ id: string;
1237
+ max_party_share_per_layer_pct_override: number | null;
1238
+ never_mix: boolean;
1239
+ notes: string | null;
1240
+ product_id: string;
1241
+ updated_at: string;
1242
+ };
1243
+ Insert: {
1244
+ created_at?: string;
1245
+ id?: string;
1246
+ max_party_share_per_layer_pct_override?: number | null;
1247
+ never_mix?: boolean;
1248
+ notes?: string | null;
1249
+ product_id: string;
1250
+ updated_at?: string;
1251
+ };
1252
+ Update: {
1253
+ created_at?: string;
1254
+ id?: string;
1255
+ max_party_share_per_layer_pct_override?: number | null;
1256
+ never_mix?: boolean;
1257
+ notes?: string | null;
1258
+ product_id?: string;
1259
+ updated_at?: string;
1260
+ };
1261
+ Relationships: [{
1262
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
1263
+ columns: ["product_id"];
1264
+ isOneToOne: true;
1265
+ referencedRelation: "products";
1266
+ referencedColumns: ["id"];
1267
+ }];
1268
+ };
1269
+ cart_planning_settings: {
1270
+ Row: {
1271
+ allow_editing_after_pickstation_send: boolean;
1272
+ buffer_grouping_mode: string;
1273
+ combine_floriday_orders: boolean;
1274
+ combine_floriday_orders_window: string;
1275
+ combine_orders_scope: string;
1276
+ default_workers: number;
1277
+ id: number;
1278
+ max_beladingen_per_layer: number;
1279
+ max_customers_per_cart: number;
1280
+ max_one_customer_per_layer: boolean;
1281
+ max_party_share_per_layer_pct: number;
1282
+ optimization_strategy: string;
1283
+ own_cart_from_layers: number;
1284
+ pick_time_mode: string;
1285
+ plants_per_day: number;
1286
+ plants_per_hour: number;
1287
+ require_same_carrier: boolean;
1288
+ require_same_crate_type: boolean;
1289
+ require_same_delivery_date: boolean;
1290
+ require_same_delivery_location: boolean;
1291
+ updated_at: string;
1292
+ updated_by: string | null;
1293
+ };
1294
+ Insert: {
1295
+ allow_editing_after_pickstation_send?: boolean;
1296
+ buffer_grouping_mode?: string;
1297
+ combine_floriday_orders?: boolean;
1298
+ combine_floriday_orders_window?: string;
1299
+ combine_orders_scope?: string;
1300
+ default_workers?: number;
1301
+ id?: number;
1302
+ max_beladingen_per_layer?: number;
1303
+ max_customers_per_cart?: number;
1304
+ max_one_customer_per_layer?: boolean;
1305
+ max_party_share_per_layer_pct?: number;
1306
+ optimization_strategy?: string;
1307
+ own_cart_from_layers?: number;
1308
+ pick_time_mode?: string;
1309
+ plants_per_day?: number;
1310
+ plants_per_hour?: number;
1311
+ require_same_carrier?: boolean;
1312
+ require_same_crate_type?: boolean;
1313
+ require_same_delivery_date?: boolean;
1314
+ require_same_delivery_location?: boolean;
1315
+ updated_at?: string;
1316
+ updated_by?: string | null;
1317
+ };
1318
+ Update: {
1319
+ allow_editing_after_pickstation_send?: boolean;
1320
+ buffer_grouping_mode?: string;
1321
+ combine_floriday_orders?: boolean;
1322
+ combine_floriday_orders_window?: string;
1323
+ combine_orders_scope?: string;
1324
+ default_workers?: number;
1325
+ id?: number;
1326
+ max_beladingen_per_layer?: number;
1327
+ max_customers_per_cart?: number;
1328
+ max_one_customer_per_layer?: boolean;
1329
+ max_party_share_per_layer_pct?: number;
1330
+ optimization_strategy?: string;
1331
+ own_cart_from_layers?: number;
1332
+ pick_time_mode?: string;
1333
+ plants_per_day?: number;
1334
+ plants_per_hour?: number;
1335
+ require_same_carrier?: boolean;
1336
+ require_same_crate_type?: boolean;
1337
+ require_same_delivery_date?: boolean;
1338
+ require_same_delivery_location?: boolean;
1339
+ updated_at?: string;
1340
+ updated_by?: string | null;
1341
+ };
1342
+ Relationships: [];
1343
+ };
1128
1344
  cart_replan_queue: {
1129
1345
  Row: {
1130
1346
  attempts: number;
@@ -1155,6 +1371,39 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
1155
1371
  referencedColumns: ["id"];
1156
1372
  }];
1157
1373
  };
1374
+ cart_types: {
1375
+ Row: {
1376
+ created_at: string;
1377
+ id: string;
1378
+ is_default: boolean;
1379
+ layer_length_cm: number;
1380
+ layer_width_cm: number;
1381
+ layers_per_cart: number;
1382
+ name: string;
1383
+ updated_at: string;
1384
+ };
1385
+ Insert: {
1386
+ created_at?: string;
1387
+ id?: string;
1388
+ is_default?: boolean;
1389
+ layer_length_cm: number;
1390
+ layer_width_cm: number;
1391
+ layers_per_cart?: number;
1392
+ name: string;
1393
+ updated_at?: string;
1394
+ };
1395
+ Update: {
1396
+ created_at?: string;
1397
+ id?: string;
1398
+ is_default?: boolean;
1399
+ layer_length_cm?: number;
1400
+ layer_width_cm?: number;
1401
+ layers_per_cart?: number;
1402
+ name?: string;
1403
+ updated_at?: string;
1404
+ };
1405
+ Relationships: [];
1406
+ };
1158
1407
  catalog_articles_cache: {
1159
1408
  Row: {
1160
1409
  created_at: string;
@@ -1242,6 +1491,36 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
1242
1491
  };
1243
1492
  Relationships: [];
1244
1493
  };
1494
+ crate_types: {
1495
+ Row: {
1496
+ created_at: string;
1497
+ id: string;
1498
+ length_cm: number;
1499
+ name: string;
1500
+ plants_per_crate: number;
1501
+ updated_at: string;
1502
+ width_cm: number;
1503
+ };
1504
+ Insert: {
1505
+ created_at?: string;
1506
+ id?: string;
1507
+ length_cm: number;
1508
+ name: string;
1509
+ plants_per_crate?: number;
1510
+ updated_at?: string;
1511
+ width_cm: number;
1512
+ };
1513
+ Update: {
1514
+ created_at?: string;
1515
+ id?: string;
1516
+ length_cm?: number;
1517
+ name?: string;
1518
+ plants_per_crate?: number;
1519
+ updated_at?: string;
1520
+ width_cm?: number;
1521
+ };
1522
+ Relationships: [];
1523
+ };
1245
1524
  customer_audit_log: {
1246
1525
  Row: {
1247
1526
  action: string;
@@ -5781,127 +6060,409 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
5781
6060
  };
5782
6061
  Relationships: [];
5783
6062
  };
5784
- local_customer_agreements: {
6063
+ itk_contact_persons: {
5785
6064
  Row: {
5786
- base_price: number | null;
5787
6065
  created_at: string;
5788
- currency: string;
5789
6066
  customer_id: string;
6067
+ email: string | null;
5790
6068
  id: string;
5791
- min_quantity: number;
5792
- net_price: number;
5793
- notes: string | null;
5794
- product_category_id: string | null;
5795
- product_id: string | null;
6069
+ name: string;
6070
+ phone: string | null;
6071
+ role: string | null;
5796
6072
  updated_at: string;
5797
- valid_from: string | null;
5798
- valid_until: string | null;
5799
6073
  };
5800
6074
  Insert: {
5801
- base_price?: number | null;
5802
6075
  created_at?: string;
5803
- currency?: string;
5804
6076
  customer_id: string;
6077
+ email?: string | null;
5805
6078
  id?: string;
5806
- min_quantity?: number;
5807
- net_price: number;
5808
- notes?: string | null;
5809
- product_category_id?: string | null;
5810
- product_id?: string | null;
6079
+ name: string;
6080
+ phone?: string | null;
6081
+ role?: string | null;
5811
6082
  updated_at?: string;
5812
- valid_from?: string | null;
5813
- valid_until?: string | null;
5814
6083
  };
5815
6084
  Update: {
5816
- base_price?: number | null;
5817
6085
  created_at?: string;
5818
- currency?: string;
5819
6086
  customer_id?: string;
6087
+ email?: string | null;
5820
6088
  id?: string;
5821
- min_quantity?: number;
5822
- net_price?: number;
5823
- notes?: string | null;
5824
- product_category_id?: string | null;
5825
- product_id?: string | null;
6089
+ name?: string;
6090
+ phone?: string | null;
6091
+ role?: string | null;
5826
6092
  updated_at?: string;
5827
- valid_from?: string | null;
5828
- valid_until?: string | null;
5829
6093
  };
5830
6094
  Relationships: [{
5831
- foreignKeyName: "local_customer_agreements_customer_id_fkey";
6095
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
5832
6096
  columns: ["customer_id"];
5833
6097
  isOneToOne: false;
5834
- referencedRelation: "customers";
5835
- referencedColumns: ["id"];
5836
- }, {
5837
- foreignKeyName: "local_customer_agreements_product_category_id_fkey";
5838
- columns: ["product_category_id"];
5839
- isOneToOne: false;
5840
- referencedRelation: "product_categories";
5841
- referencedColumns: ["id"];
5842
- }, {
5843
- foreignKeyName: "local_customer_agreements_product_id_fkey";
5844
- columns: ["product_id"];
5845
- isOneToOne: false;
5846
- referencedRelation: "products";
6098
+ referencedRelation: "itk_customers";
5847
6099
  referencedColumns: ["id"];
5848
6100
  }];
5849
6101
  };
5850
- local_customer_price_groups: {
6102
+ itk_customer_dynamic_values: {
5851
6103
  Row: {
5852
6104
  created_at: string;
5853
- currency: string;
5854
6105
  customer_id: string;
5855
- discount_type: string;
5856
- discount_value: number;
6106
+ field_id: string;
5857
6107
  id: string;
5858
- min_quantity: number;
5859
- notes: string | null;
5860
- product_category_id: string | null;
5861
- product_id: string | null;
5862
6108
  updated_at: string;
5863
- valid_from: string | null;
5864
- valid_until: string | null;
6109
+ value: string | null;
5865
6110
  };
5866
6111
  Insert: {
5867
6112
  created_at?: string;
5868
- currency?: string;
5869
6113
  customer_id: string;
5870
- discount_type: string;
5871
- discount_value: number;
6114
+ field_id: string;
5872
6115
  id?: string;
5873
- min_quantity?: number;
5874
- notes?: string | null;
5875
- product_category_id?: string | null;
5876
- product_id?: string | null;
5877
6116
  updated_at?: string;
5878
- valid_from?: string | null;
5879
- valid_until?: string | null;
6117
+ value?: string | null;
5880
6118
  };
5881
6119
  Update: {
5882
6120
  created_at?: string;
5883
- currency?: string;
5884
6121
  customer_id?: string;
5885
- discount_type?: string;
5886
- discount_value?: number;
6122
+ field_id?: string;
5887
6123
  id?: string;
5888
- min_quantity?: number;
5889
- notes?: string | null;
5890
- product_category_id?: string | null;
5891
- product_id?: string | null;
5892
6124
  updated_at?: string;
5893
- valid_from?: string | null;
5894
- valid_until?: string | null;
6125
+ value?: string | null;
5895
6126
  };
5896
6127
  Relationships: [{
5897
- foreignKeyName: "local_customer_price_groups_customer_id_fkey";
6128
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
5898
6129
  columns: ["customer_id"];
5899
6130
  isOneToOne: false;
5900
- referencedRelation: "customers";
6131
+ referencedRelation: "itk_customers";
5901
6132
  referencedColumns: ["id"];
5902
6133
  }, {
5903
- foreignKeyName: "local_customer_price_groups_product_category_id_fkey";
5904
- columns: ["product_category_id"];
6134
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
6135
+ columns: ["field_id"];
6136
+ isOneToOne: false;
6137
+ referencedRelation: "itk_dynamic_fields";
6138
+ referencedColumns: ["id"];
6139
+ }];
6140
+ };
6141
+ itk_customer_notes: {
6142
+ Row: {
6143
+ body: string;
6144
+ created_at: string;
6145
+ created_by: string | null;
6146
+ customer_id: string;
6147
+ id: string;
6148
+ note_type: string;
6149
+ updated_at: string;
6150
+ };
6151
+ Insert: {
6152
+ body: string;
6153
+ created_at?: string;
6154
+ created_by?: string | null;
6155
+ customer_id: string;
6156
+ id?: string;
6157
+ note_type?: string;
6158
+ updated_at?: string;
6159
+ };
6160
+ Update: {
6161
+ body?: string;
6162
+ created_at?: string;
6163
+ created_by?: string | null;
6164
+ customer_id?: string;
6165
+ id?: string;
6166
+ note_type?: string;
6167
+ updated_at?: string;
6168
+ };
6169
+ Relationships: [{
6170
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
6171
+ columns: ["customer_id"];
6172
+ isOneToOne: false;
6173
+ referencedRelation: "itk_customers";
6174
+ referencedColumns: ["id"];
6175
+ }];
6176
+ };
6177
+ itk_customers: {
6178
+ Row: {
6179
+ billing_city: string | null;
6180
+ billing_postcode: string | null;
6181
+ billing_street: string | null;
6182
+ created_at: string;
6183
+ general_email: string | null;
6184
+ general_phone: string | null;
6185
+ id: string;
6186
+ legacy_customer_id: string | null;
6187
+ name: string;
6188
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6189
+ updated_at: string;
6190
+ };
6191
+ Insert: {
6192
+ billing_city?: string | null;
6193
+ billing_postcode?: string | null;
6194
+ billing_street?: string | null;
6195
+ created_at?: string;
6196
+ general_email?: string | null;
6197
+ general_phone?: string | null;
6198
+ id?: string;
6199
+ legacy_customer_id?: string | null;
6200
+ name: string;
6201
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6202
+ updated_at?: string;
6203
+ };
6204
+ Update: {
6205
+ billing_city?: string | null;
6206
+ billing_postcode?: string | null;
6207
+ billing_street?: string | null;
6208
+ created_at?: string;
6209
+ general_email?: string | null;
6210
+ general_phone?: string | null;
6211
+ id?: string;
6212
+ legacy_customer_id?: string | null;
6213
+ name?: string;
6214
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
6215
+ updated_at?: string;
6216
+ };
6217
+ Relationships: [{
6218
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
6219
+ columns: ["legacy_customer_id"];
6220
+ isOneToOne: false;
6221
+ referencedRelation: "customers";
6222
+ referencedColumns: ["id"];
6223
+ }];
6224
+ };
6225
+ itk_dynamic_fields: {
6226
+ Row: {
6227
+ created_at: string;
6228
+ field_name: string;
6229
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6230
+ id: string;
6231
+ options: import("../integrations/supabase/types").Json;
6232
+ sort_order: number;
6233
+ updated_at: string;
6234
+ };
6235
+ Insert: {
6236
+ created_at?: string;
6237
+ field_name: string;
6238
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6239
+ id?: string;
6240
+ options?: import("../integrations/supabase/types").Json;
6241
+ sort_order?: number;
6242
+ updated_at?: string;
6243
+ };
6244
+ Update: {
6245
+ created_at?: string;
6246
+ field_name?: string;
6247
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
6248
+ id?: string;
6249
+ options?: import("../integrations/supabase/types").Json;
6250
+ sort_order?: number;
6251
+ updated_at?: string;
6252
+ };
6253
+ Relationships: [];
6254
+ };
6255
+ itk_work_locations: {
6256
+ Row: {
6257
+ city: string | null;
6258
+ created_at: string;
6259
+ customer_id: string;
6260
+ id: string;
6261
+ instructions: string | null;
6262
+ label: string;
6263
+ latitude: number | null;
6264
+ longitude: number | null;
6265
+ postcode: string | null;
6266
+ street: string | null;
6267
+ updated_at: string;
6268
+ };
6269
+ Insert: {
6270
+ city?: string | null;
6271
+ created_at?: string;
6272
+ customer_id: string;
6273
+ id?: string;
6274
+ instructions?: string | null;
6275
+ label: string;
6276
+ latitude?: number | null;
6277
+ longitude?: number | null;
6278
+ postcode?: string | null;
6279
+ street?: string | null;
6280
+ updated_at?: string;
6281
+ };
6282
+ Update: {
6283
+ city?: string | null;
6284
+ created_at?: string;
6285
+ customer_id?: string;
6286
+ id?: string;
6287
+ instructions?: string | null;
6288
+ label?: string;
6289
+ latitude?: number | null;
6290
+ longitude?: number | null;
6291
+ postcode?: string | null;
6292
+ street?: string | null;
6293
+ updated_at?: string;
6294
+ };
6295
+ Relationships: [{
6296
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
6297
+ columns: ["customer_id"];
6298
+ isOneToOne: false;
6299
+ referencedRelation: "itk_customers";
6300
+ referencedColumns: ["id"];
6301
+ }];
6302
+ };
6303
+ leave_requests: {
6304
+ Row: {
6305
+ created_at: string;
6306
+ end_date: string;
6307
+ id: string;
6308
+ reason: string | null;
6309
+ start_date: string;
6310
+ status: string;
6311
+ tenant_id: string;
6312
+ updated_at: string;
6313
+ user_id: string;
6314
+ };
6315
+ Insert: {
6316
+ created_at?: string;
6317
+ end_date: string;
6318
+ id?: string;
6319
+ reason?: string | null;
6320
+ start_date: string;
6321
+ status?: string;
6322
+ tenant_id?: string;
6323
+ updated_at?: string;
6324
+ user_id: string;
6325
+ };
6326
+ Update: {
6327
+ created_at?: string;
6328
+ end_date?: string;
6329
+ id?: string;
6330
+ reason?: string | null;
6331
+ start_date?: string;
6332
+ status?: string;
6333
+ tenant_id?: string;
6334
+ updated_at?: string;
6335
+ user_id?: string;
6336
+ };
6337
+ Relationships: [{
6338
+ foreignKeyName: "leave_requests_user_id_fkey";
6339
+ columns: ["user_id"];
6340
+ isOneToOne: false;
6341
+ referencedRelation: "monteurs";
6342
+ referencedColumns: ["id"];
6343
+ }];
6344
+ };
6345
+ local_customer_agreements: {
6346
+ Row: {
6347
+ base_price: number | null;
6348
+ created_at: string;
6349
+ currency: string;
6350
+ customer_id: string;
6351
+ id: string;
6352
+ min_quantity: number;
6353
+ net_price: number;
6354
+ notes: string | null;
6355
+ product_category_id: string | null;
6356
+ product_id: string | null;
6357
+ updated_at: string;
6358
+ valid_from: string | null;
6359
+ valid_until: string | null;
6360
+ };
6361
+ Insert: {
6362
+ base_price?: number | null;
6363
+ created_at?: string;
6364
+ currency?: string;
6365
+ customer_id: string;
6366
+ id?: string;
6367
+ min_quantity?: number;
6368
+ net_price: number;
6369
+ notes?: string | null;
6370
+ product_category_id?: string | null;
6371
+ product_id?: string | null;
6372
+ updated_at?: string;
6373
+ valid_from?: string | null;
6374
+ valid_until?: string | null;
6375
+ };
6376
+ Update: {
6377
+ base_price?: number | null;
6378
+ created_at?: string;
6379
+ currency?: string;
6380
+ customer_id?: string;
6381
+ id?: string;
6382
+ min_quantity?: number;
6383
+ net_price?: number;
6384
+ notes?: string | null;
6385
+ product_category_id?: string | null;
6386
+ product_id?: string | null;
6387
+ updated_at?: string;
6388
+ valid_from?: string | null;
6389
+ valid_until?: string | null;
6390
+ };
6391
+ Relationships: [{
6392
+ foreignKeyName: "local_customer_agreements_customer_id_fkey";
6393
+ columns: ["customer_id"];
6394
+ isOneToOne: false;
6395
+ referencedRelation: "customers";
6396
+ referencedColumns: ["id"];
6397
+ }, {
6398
+ foreignKeyName: "local_customer_agreements_product_category_id_fkey";
6399
+ columns: ["product_category_id"];
6400
+ isOneToOne: false;
6401
+ referencedRelation: "product_categories";
6402
+ referencedColumns: ["id"];
6403
+ }, {
6404
+ foreignKeyName: "local_customer_agreements_product_id_fkey";
6405
+ columns: ["product_id"];
6406
+ isOneToOne: false;
6407
+ referencedRelation: "products";
6408
+ referencedColumns: ["id"];
6409
+ }];
6410
+ };
6411
+ local_customer_price_groups: {
6412
+ Row: {
6413
+ created_at: string;
6414
+ currency: string;
6415
+ customer_id: string;
6416
+ discount_type: string;
6417
+ discount_value: number;
6418
+ id: string;
6419
+ min_quantity: number;
6420
+ notes: string | null;
6421
+ product_category_id: string | null;
6422
+ product_id: string | null;
6423
+ updated_at: string;
6424
+ valid_from: string | null;
6425
+ valid_until: string | null;
6426
+ };
6427
+ Insert: {
6428
+ created_at?: string;
6429
+ currency?: string;
6430
+ customer_id: string;
6431
+ discount_type: string;
6432
+ discount_value: number;
6433
+ id?: string;
6434
+ min_quantity?: number;
6435
+ notes?: string | null;
6436
+ product_category_id?: string | null;
6437
+ product_id?: string | null;
6438
+ updated_at?: string;
6439
+ valid_from?: string | null;
6440
+ valid_until?: string | null;
6441
+ };
6442
+ Update: {
6443
+ created_at?: string;
6444
+ currency?: string;
6445
+ customer_id?: string;
6446
+ discount_type?: string;
6447
+ discount_value?: number;
6448
+ id?: string;
6449
+ min_quantity?: number;
6450
+ notes?: string | null;
6451
+ product_category_id?: string | null;
6452
+ product_id?: string | null;
6453
+ updated_at?: string;
6454
+ valid_from?: string | null;
6455
+ valid_until?: string | null;
6456
+ };
6457
+ Relationships: [{
6458
+ foreignKeyName: "local_customer_price_groups_customer_id_fkey";
6459
+ columns: ["customer_id"];
6460
+ isOneToOne: false;
6461
+ referencedRelation: "customers";
6462
+ referencedColumns: ["id"];
6463
+ }, {
6464
+ foreignKeyName: "local_customer_price_groups_product_category_id_fkey";
6465
+ columns: ["product_category_id"];
5905
6466
  isOneToOne: false;
5906
6467
  referencedRelation: "product_categories";
5907
6468
  referencedColumns: ["id"];
@@ -6432,6 +6993,33 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
6432
6993
  };
6433
6994
  Relationships: [];
6434
6995
  };
6996
+ module_permissions: {
6997
+ Row: {
6998
+ created_at: string;
6999
+ id: string;
7000
+ module_id: string;
7001
+ permission: string;
7002
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7003
+ updated_at: string;
7004
+ };
7005
+ Insert: {
7006
+ created_at?: string;
7007
+ id?: string;
7008
+ module_id: string;
7009
+ permission: string;
7010
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7011
+ updated_at?: string;
7012
+ };
7013
+ Update: {
7014
+ created_at?: string;
7015
+ id?: string;
7016
+ module_id?: string;
7017
+ permission?: string;
7018
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
7019
+ updated_at?: string;
7020
+ };
7021
+ Relationships: [];
7022
+ };
6435
7023
  monteurs: {
6436
7024
  Row: {
6437
7025
  avatar_url: string | null;
@@ -7161,6 +7749,42 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7161
7749
  };
7162
7750
  Relationships: [];
7163
7751
  };
7752
+ order_buffers: {
7753
+ Row: {
7754
+ buffer_key: string;
7755
+ created_at: string;
7756
+ customer_id: string | null;
7757
+ grouping_mode: string;
7758
+ id: string;
7759
+ pickup_date: string | null;
7760
+ pickup_location: string | null;
7761
+ plan_locked_at: string | null;
7762
+ updated_at: string;
7763
+ };
7764
+ Insert: {
7765
+ buffer_key: string;
7766
+ created_at?: string;
7767
+ customer_id?: string | null;
7768
+ grouping_mode: string;
7769
+ id?: string;
7770
+ pickup_date?: string | null;
7771
+ pickup_location?: string | null;
7772
+ plan_locked_at?: string | null;
7773
+ updated_at?: string;
7774
+ };
7775
+ Update: {
7776
+ buffer_key?: string;
7777
+ created_at?: string;
7778
+ customer_id?: string | null;
7779
+ grouping_mode?: string;
7780
+ id?: string;
7781
+ pickup_date?: string | null;
7782
+ pickup_location?: string | null;
7783
+ plan_locked_at?: string | null;
7784
+ updated_at?: string;
7785
+ };
7786
+ Relationships: [];
7787
+ };
7164
7788
  order_cart_items: {
7165
7789
  Row: {
7166
7790
  cart_id: string;
@@ -7227,6 +7851,7 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7227
7851
  order_carts: {
7228
7852
  Row: {
7229
7853
  algorithm_version: number;
7854
+ buffer_id: string | null;
7230
7855
  cart_number: number;
7231
7856
  created_at: string;
7232
7857
  id: string;
@@ -7234,13 +7859,14 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7234
7859
  is_complete: boolean;
7235
7860
  notes: string | null;
7236
7861
  occupancy_pct: number;
7237
- order_id: string;
7862
+ order_id: string | null;
7238
7863
  source: string;
7239
7864
  total_layers_used: number;
7240
7865
  updated_at: string;
7241
7866
  };
7242
7867
  Insert: {
7243
7868
  algorithm_version?: number;
7869
+ buffer_id?: string | null;
7244
7870
  cart_number: number;
7245
7871
  created_at?: string;
7246
7872
  id?: string;
@@ -7248,13 +7874,14 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7248
7874
  is_complete?: boolean;
7249
7875
  notes?: string | null;
7250
7876
  occupancy_pct?: number;
7251
- order_id: string;
7877
+ order_id?: string | null;
7252
7878
  source?: string;
7253
7879
  total_layers_used?: number;
7254
7880
  updated_at?: string;
7255
7881
  };
7256
7882
  Update: {
7257
7883
  algorithm_version?: number;
7884
+ buffer_id?: string | null;
7258
7885
  cart_number?: number;
7259
7886
  created_at?: string;
7260
7887
  id?: string;
@@ -7262,12 +7889,18 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7262
7889
  is_complete?: boolean;
7263
7890
  notes?: string | null;
7264
7891
  occupancy_pct?: number;
7265
- order_id?: string;
7892
+ order_id?: string | null;
7266
7893
  source?: string;
7267
7894
  total_layers_used?: number;
7268
7895
  updated_at?: string;
7269
7896
  };
7270
7897
  Relationships: [{
7898
+ foreignKeyName: "order_carts_buffer_id_fkey";
7899
+ columns: ["buffer_id"];
7900
+ isOneToOne: false;
7901
+ referencedRelation: "order_buffers";
7902
+ referencedColumns: ["id"];
7903
+ }, {
7271
7904
  foreignKeyName: "order_carts_order_id_fkey";
7272
7905
  columns: ["order_id"];
7273
7906
  isOneToOne: false;
@@ -7365,54 +7998,156 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7365
7998
  Update: {
7366
7999
  created_at?: string;
7367
8000
  id?: string;
7368
- order_id?: string;
8001
+ order_id?: string;
8002
+ product_id?: string | null;
8003
+ product_name?: string;
8004
+ quantity?: number;
8005
+ unit?: string;
8006
+ unit_price?: number | null;
8007
+ };
8008
+ Relationships: [{
8009
+ foreignKeyName: "order_items_order_id_fkey";
8010
+ columns: ["order_id"];
8011
+ isOneToOne: false;
8012
+ referencedRelation: "orders";
8013
+ referencedColumns: ["id"];
8014
+ }, {
8015
+ foreignKeyName: "order_items_product_id_fkey";
8016
+ columns: ["product_id"];
8017
+ isOneToOne: false;
8018
+ referencedRelation: "products";
8019
+ referencedColumns: ["id"];
8020
+ }];
8021
+ };
8022
+ order_number_counters: {
8023
+ Row: {
8024
+ last_value: number;
8025
+ updated_at: string;
8026
+ year: number;
8027
+ };
8028
+ Insert: {
8029
+ last_value?: number;
8030
+ updated_at?: string;
8031
+ year: number;
8032
+ };
8033
+ Update: {
8034
+ last_value?: number;
8035
+ updated_at?: string;
8036
+ year?: number;
8037
+ };
8038
+ Relationships: [];
8039
+ };
8040
+ order_shipment_items: {
8041
+ Row: {
8042
+ created_at: string;
8043
+ id: string;
8044
+ order_item_id: string;
8045
+ product_id: string | null;
8046
+ product_name: string;
8047
+ quantity: number;
8048
+ shipment_id: string;
8049
+ updated_at: string;
8050
+ };
8051
+ Insert: {
8052
+ created_at?: string;
8053
+ id?: string;
8054
+ order_item_id: string;
8055
+ product_id?: string | null;
8056
+ product_name: string;
8057
+ quantity: number;
8058
+ shipment_id: string;
8059
+ updated_at?: string;
8060
+ };
8061
+ Update: {
8062
+ created_at?: string;
8063
+ id?: string;
8064
+ order_item_id?: string;
7369
8065
  product_id?: string | null;
7370
8066
  product_name?: string;
7371
8067
  quantity?: number;
7372
- unit?: string;
7373
- unit_price?: number | null;
8068
+ shipment_id?: string;
8069
+ updated_at?: string;
7374
8070
  };
7375
8071
  Relationships: [{
7376
- foreignKeyName: "order_items_order_id_fkey";
7377
- columns: ["order_id"];
8072
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
8073
+ columns: ["order_item_id"];
7378
8074
  isOneToOne: false;
7379
- referencedRelation: "orders";
8075
+ referencedRelation: "order_items";
7380
8076
  referencedColumns: ["id"];
7381
8077
  }, {
7382
- foreignKeyName: "order_items_product_id_fkey";
7383
- columns: ["product_id"];
8078
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
8079
+ columns: ["shipment_id"];
7384
8080
  isOneToOne: false;
7385
- referencedRelation: "products";
8081
+ referencedRelation: "order_shipments";
7386
8082
  referencedColumns: ["id"];
7387
8083
  }];
7388
8084
  };
7389
- order_number_counters: {
8085
+ order_shipments: {
7390
8086
  Row: {
7391
- last_value: number;
8087
+ carrier_id: string | null;
8088
+ created_at: string;
8089
+ delivery_date: string | null;
8090
+ delivery_location_id: string | null;
8091
+ id: string;
8092
+ notes: string | null;
8093
+ order_id: string;
8094
+ shipment_number: number;
8095
+ shipped_at: string | null;
8096
+ status: string;
7392
8097
  updated_at: string;
7393
- year: number;
7394
8098
  };
7395
8099
  Insert: {
7396
- last_value?: number;
8100
+ carrier_id?: string | null;
8101
+ created_at?: string;
8102
+ delivery_date?: string | null;
8103
+ delivery_location_id?: string | null;
8104
+ id?: string;
8105
+ notes?: string | null;
8106
+ order_id: string;
8107
+ shipment_number: number;
8108
+ shipped_at?: string | null;
8109
+ status?: string;
7397
8110
  updated_at?: string;
7398
- year: number;
7399
8111
  };
7400
8112
  Update: {
7401
- last_value?: number;
8113
+ carrier_id?: string | null;
8114
+ created_at?: string;
8115
+ delivery_date?: string | null;
8116
+ delivery_location_id?: string | null;
8117
+ id?: string;
8118
+ notes?: string | null;
8119
+ order_id?: string;
8120
+ shipment_number?: number;
8121
+ shipped_at?: string | null;
8122
+ status?: string;
7402
8123
  updated_at?: string;
7403
- year?: number;
7404
8124
  };
7405
- Relationships: [];
8125
+ Relationships: [{
8126
+ foreignKeyName: "order_shipments_carrier_id_fkey";
8127
+ columns: ["carrier_id"];
8128
+ isOneToOne: false;
8129
+ referencedRelation: "carriers";
8130
+ referencedColumns: ["id"];
8131
+ }, {
8132
+ foreignKeyName: "order_shipments_order_id_fkey";
8133
+ columns: ["order_id"];
8134
+ isOneToOne: false;
8135
+ referencedRelation: "orders";
8136
+ referencedColumns: ["id"];
8137
+ }];
7406
8138
  };
7407
8139
  orders: {
7408
8140
  Row: {
8141
+ buffer_id: string | null;
7409
8142
  created_at: string;
7410
8143
  custom_fields: import("../integrations/supabase/types").Json;
7411
8144
  customer_id: string | null;
7412
8145
  customer_name: string;
7413
8146
  deleted_at: string | null;
7414
- delivery_date: string;
8147
+ delivery_date: string | null;
8148
+ floriday_sales_order_id: string | null;
7415
8149
  id: string;
8150
+ is_reservation: boolean;
7416
8151
  notes: string | null;
7417
8152
  order_date: string;
7418
8153
  order_number: string;
@@ -7424,13 +8159,16 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7424
8159
  updated_at: string;
7425
8160
  };
7426
8161
  Insert: {
8162
+ buffer_id?: string | null;
7427
8163
  created_at?: string;
7428
8164
  custom_fields?: import("../integrations/supabase/types").Json;
7429
8165
  customer_id?: string | null;
7430
8166
  customer_name?: string;
7431
8167
  deleted_at?: string | null;
7432
- delivery_date: string;
8168
+ delivery_date?: string | null;
8169
+ floriday_sales_order_id?: string | null;
7433
8170
  id?: string;
8171
+ is_reservation?: boolean;
7434
8172
  notes?: string | null;
7435
8173
  order_date?: string;
7436
8174
  order_number: string;
@@ -7442,13 +8180,16 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7442
8180
  updated_at?: string;
7443
8181
  };
7444
8182
  Update: {
8183
+ buffer_id?: string | null;
7445
8184
  created_at?: string;
7446
8185
  custom_fields?: import("../integrations/supabase/types").Json;
7447
8186
  customer_id?: string | null;
7448
8187
  customer_name?: string;
7449
8188
  deleted_at?: string | null;
7450
- delivery_date?: string;
8189
+ delivery_date?: string | null;
8190
+ floriday_sales_order_id?: string | null;
7451
8191
  id?: string;
8192
+ is_reservation?: boolean;
7452
8193
  notes?: string | null;
7453
8194
  order_date?: string;
7454
8195
  order_number?: string;
@@ -7460,6 +8201,12 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7460
8201
  updated_at?: string;
7461
8202
  };
7462
8203
  Relationships: [{
8204
+ foreignKeyName: "orders_buffer_id_fkey";
8205
+ columns: ["buffer_id"];
8206
+ isOneToOne: false;
8207
+ referencedRelation: "order_buffers";
8208
+ referencedColumns: ["id"];
8209
+ }, {
7463
8210
  foreignKeyName: "orders_customer_id_fkey";
7464
8211
  columns: ["customer_id"];
7465
8212
  isOneToOne: false;
@@ -7590,6 +8337,51 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7590
8337
  };
7591
8338
  Relationships: [];
7592
8339
  };
8340
+ planning_items: {
8341
+ Row: {
8342
+ assigned_monteur_id: string;
8343
+ created_at: string;
8344
+ created_by: string | null;
8345
+ end_at: string;
8346
+ id: string;
8347
+ notes: string | null;
8348
+ start_at: string;
8349
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8350
+ updated_at: string;
8351
+ werkbon_id: string;
8352
+ };
8353
+ Insert: {
8354
+ assigned_monteur_id: string;
8355
+ created_at?: string;
8356
+ created_by?: string | null;
8357
+ end_at: string;
8358
+ id?: string;
8359
+ notes?: string | null;
8360
+ start_at: string;
8361
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8362
+ updated_at?: string;
8363
+ werkbon_id: string;
8364
+ };
8365
+ Update: {
8366
+ assigned_monteur_id?: string;
8367
+ created_at?: string;
8368
+ created_by?: string | null;
8369
+ end_at?: string;
8370
+ id?: string;
8371
+ notes?: string | null;
8372
+ start_at?: string;
8373
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8374
+ updated_at?: string;
8375
+ werkbon_id?: string;
8376
+ };
8377
+ Relationships: [{
8378
+ foreignKeyName: "planning_items_werkbon_id_fkey";
8379
+ columns: ["werkbon_id"];
8380
+ isOneToOne: false;
8381
+ referencedRelation: "werkbonnen";
8382
+ referencedColumns: ["id"];
8383
+ }];
8384
+ };
7593
8385
  product_categories: {
7594
8386
  Row: {
7595
8387
  color: string;
@@ -7723,6 +8515,8 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7723
8515
  Row: {
7724
8516
  created_at: string;
7725
8517
  description: string | null;
8518
+ head_product_id: string | null;
8519
+ head_trade_item_floriday_id: string | null;
7726
8520
  id: string;
7727
8521
  is_active: boolean;
7728
8522
  name: string;
@@ -7732,6 +8526,8 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7732
8526
  Insert: {
7733
8527
  created_at?: string;
7734
8528
  description?: string | null;
8529
+ head_product_id?: string | null;
8530
+ head_trade_item_floriday_id?: string | null;
7735
8531
  id?: string;
7736
8532
  is_active?: boolean;
7737
8533
  name: string;
@@ -7741,13 +8537,21 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
7741
8537
  Update: {
7742
8538
  created_at?: string;
7743
8539
  description?: string | null;
8540
+ head_product_id?: string | null;
8541
+ head_trade_item_floriday_id?: string | null;
7744
8542
  id?: string;
7745
8543
  is_active?: boolean;
7746
8544
  name?: string;
7747
8545
  tenant_id?: string;
7748
8546
  updated_at?: string;
7749
8547
  };
7750
- Relationships: [];
8548
+ Relationships: [{
8549
+ foreignKeyName: "product_groups_head_product_id_fkey";
8550
+ columns: ["head_product_id"];
8551
+ isOneToOne: false;
8552
+ referencedRelation: "products";
8553
+ referencedColumns: ["id"];
8554
+ }];
7751
8555
  };
7752
8556
  products: {
7753
8557
  Row: {
@@ -10298,6 +11102,7 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
10298
11102
  internal_notes: string | null;
10299
11103
  parent_werkbon_id: string | null;
10300
11104
  parsed_payload: import("../integrations/supabase/types").Json | null;
11105
+ planning_status: string;
10301
11106
  project_number: string | null;
10302
11107
  room_number: string | null;
10303
11108
  scheduled_end_time: string | null;
@@ -10305,6 +11110,7 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
10305
11110
  sequence_number: number;
10306
11111
  source_pdf_path: string | null;
10307
11112
  status: string;
11113
+ technician_id: string | null;
10308
11114
  technician_notes: string | null;
10309
11115
  technician_notes_raw: string | null;
10310
11116
  technician_task_description: string | null;
@@ -10325,6 +11131,7 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
10325
11131
  internal_notes?: string | null;
10326
11132
  parent_werkbon_id?: string | null;
10327
11133
  parsed_payload?: import("../integrations/supabase/types").Json | null;
11134
+ planning_status?: string;
10328
11135
  project_number?: string | null;
10329
11136
  room_number?: string | null;
10330
11137
  scheduled_end_time?: string | null;
@@ -10332,6 +11139,7 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
10332
11139
  sequence_number: number;
10333
11140
  source_pdf_path?: string | null;
10334
11141
  status?: string;
11142
+ technician_id?: string | null;
10335
11143
  technician_notes?: string | null;
10336
11144
  technician_notes_raw?: string | null;
10337
11145
  technician_task_description?: string | null;
@@ -10352,6 +11160,7 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
10352
11160
  internal_notes?: string | null;
10353
11161
  parent_werkbon_id?: string | null;
10354
11162
  parsed_payload?: import("../integrations/supabase/types").Json | null;
11163
+ planning_status?: string;
10355
11164
  project_number?: string | null;
10356
11165
  room_number?: string | null;
10357
11166
  scheduled_end_time?: string | null;
@@ -10359,6 +11168,7 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
10359
11168
  sequence_number?: number;
10360
11169
  source_pdf_path?: string | null;
10361
11170
  status?: string;
11171
+ technician_id?: string | null;
10362
11172
  technician_notes?: string | null;
10363
11173
  technician_notes_raw?: string | null;
10364
11174
  technician_task_description?: string | null;
@@ -10367,17 +11177,17 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
10367
11177
  work_address?: string | null;
10368
11178
  };
10369
11179
  Relationships: [{
10370
- foreignKeyName: "werkbonnen_customer_id_fkey";
10371
- columns: ["customer_id"];
10372
- isOneToOne: false;
10373
- referencedRelation: "customers";
10374
- referencedColumns: ["id"];
10375
- }, {
10376
11180
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
10377
11181
  columns: ["parent_werkbon_id"];
10378
11182
  isOneToOne: false;
10379
11183
  referencedRelation: "werkbonnen";
10380
11184
  referencedColumns: ["id"];
11185
+ }, {
11186
+ foreignKeyName: "werkbonnen_technician_id_fkey";
11187
+ columns: ["technician_id"];
11188
+ isOneToOne: false;
11189
+ referencedRelation: "monteurs";
11190
+ referencedColumns: ["id"];
10381
11191
  }];
10382
11192
  };
10383
11193
  work_order_monteurs: {
@@ -11096,6 +11906,21 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
11096
11906
  };
11097
11907
  Returns: string;
11098
11908
  };
11909
+ ai_usage_by_module: {
11910
+ Args: {
11911
+ _from: string;
11912
+ _to: string;
11913
+ };
11914
+ Returns: {
11915
+ calls: number;
11916
+ consumer_module_id: string;
11917
+ cost_usd: number;
11918
+ errors: number;
11919
+ input_tokens: number;
11920
+ output_tokens: number;
11921
+ total_tokens: number;
11922
+ }[];
11923
+ };
11099
11924
  apply_stock_consumption: {
11100
11925
  Args: {
11101
11926
  p_order_id: string;
@@ -11244,6 +12069,12 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
11244
12069
  Args: never;
11245
12070
  Returns: string;
11246
12071
  };
12072
+ custom_access_token_hook: {
12073
+ Args: {
12074
+ event: import("../integrations/supabase/types").Json;
12075
+ };
12076
+ Returns: import("../integrations/supabase/types").Json;
12077
+ };
11247
12078
  dashboard_alert_counts: {
11248
12079
  Args: never;
11249
12080
  Returns: import("../integrations/supabase/types").Json;
@@ -11579,6 +12410,14 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
11579
12410
  };
11580
12411
  Returns: string;
11581
12412
  };
12413
+ has_module_permission: {
12414
+ Args: {
12415
+ _min: string;
12416
+ _module_id: string;
12417
+ _user_id: string;
12418
+ };
12419
+ Returns: boolean;
12420
+ };
11582
12421
  has_role: {
11583
12422
  Args: {
11584
12423
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -11604,6 +12443,20 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
11604
12443
  };
11605
12444
  Returns: boolean;
11606
12445
  };
12446
+ jwt_has_role: {
12447
+ Args: {
12448
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
12449
+ };
12450
+ Returns: boolean;
12451
+ };
12452
+ list_monteurs: {
12453
+ Args: never;
12454
+ Returns: {
12455
+ display_name: string;
12456
+ email: string;
12457
+ user_id: string;
12458
+ }[];
12459
+ };
11607
12460
  local_effective_price: {
11608
12461
  Args: {
11609
12462
  _customer_id: string;
@@ -11620,6 +12473,22 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
11620
12473
  source_id: string;
11621
12474
  }[];
11622
12475
  };
12476
+ log_ai_call: {
12477
+ Args: {
12478
+ _consumer_module_id: string;
12479
+ _cost_usd: number;
12480
+ _duration_ms: number;
12481
+ _error_code: string;
12482
+ _error_message: string;
12483
+ _input_tokens: number;
12484
+ _model_slug: string;
12485
+ _output_tokens: number;
12486
+ _provider_slug: string;
12487
+ _status: string;
12488
+ _total_tokens: number;
12489
+ };
12490
+ Returns: string;
12491
+ };
11623
12492
  mark_offer_clicked: {
11624
12493
  Args: {
11625
12494
  p_code: string;
@@ -11632,6 +12501,12 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
11632
12501
  };
11633
12502
  Returns: undefined;
11634
12503
  };
12504
+ mark_shipment_shipped: {
12505
+ Args: {
12506
+ p_shipment_id: string;
12507
+ };
12508
+ Returns: undefined;
12509
+ };
11635
12510
  next_order_number: {
11636
12511
  Args: {
11637
12512
  p_prefix: string;
@@ -12108,9 +12983,12 @@ export declare const listCustomerDiscounts: import("@tanstack/start-client-core"
12108
12983
  };
12109
12984
  };
12110
12985
  Enums: {
12111
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
12986
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
12112
12987
  exact_env: "staging" | "live";
12113
12988
  exact_push_status: "pending" | "sent" | "error";
12989
+ itk_customer_segment: "Business" | "Private";
12990
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
12991
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
12114
12992
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
12115
12993
  };
12116
12994
  CompositeTypes: { [_ in never]: never; };
@@ -12401,6 +13279,57 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
12401
13279
  referencedColumns: ["id"];
12402
13280
  }];
12403
13281
  };
13282
+ ai_call_log: {
13283
+ Row: {
13284
+ consumer_module_id: string;
13285
+ cost_usd: number | null;
13286
+ created_at: string;
13287
+ created_by: string | null;
13288
+ duration_ms: number | null;
13289
+ error_code: string | null;
13290
+ error_message: string | null;
13291
+ id: string;
13292
+ input_tokens: number;
13293
+ model_slug: string | null;
13294
+ output_tokens: number;
13295
+ provider_slug: string | null;
13296
+ status: string;
13297
+ total_tokens: number;
13298
+ };
13299
+ Insert: {
13300
+ consumer_module_id: string;
13301
+ cost_usd?: number | null;
13302
+ created_at?: string;
13303
+ created_by?: string | null;
13304
+ duration_ms?: number | null;
13305
+ error_code?: string | null;
13306
+ error_message?: string | null;
13307
+ id?: string;
13308
+ input_tokens?: number;
13309
+ model_slug?: string | null;
13310
+ output_tokens?: number;
13311
+ provider_slug?: string | null;
13312
+ status: string;
13313
+ total_tokens?: number;
13314
+ };
13315
+ Update: {
13316
+ consumer_module_id?: string;
13317
+ cost_usd?: number | null;
13318
+ created_at?: string;
13319
+ created_by?: string | null;
13320
+ duration_ms?: number | null;
13321
+ error_code?: string | null;
13322
+ error_message?: string | null;
13323
+ id?: string;
13324
+ input_tokens?: number;
13325
+ model_slug?: string | null;
13326
+ output_tokens?: number;
13327
+ provider_slug?: string | null;
13328
+ status?: string;
13329
+ total_tokens?: number;
13330
+ };
13331
+ Relationships: [];
13332
+ };
12404
13333
  ai_credentials: {
12405
13334
  Row: {
12406
13335
  active: boolean;
@@ -12437,6 +13366,36 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
12437
13366
  referencedColumns: ["id"];
12438
13367
  }];
12439
13368
  };
13369
+ ai_goals: {
13370
+ Row: {
13371
+ active: boolean;
13372
+ created_at: string;
13373
+ description: string | null;
13374
+ key: string;
13375
+ label: string;
13376
+ sort_order: number;
13377
+ updated_at: string;
13378
+ };
13379
+ Insert: {
13380
+ active?: boolean;
13381
+ created_at?: string;
13382
+ description?: string | null;
13383
+ key: string;
13384
+ label: string;
13385
+ sort_order?: number;
13386
+ updated_at?: string;
13387
+ };
13388
+ Update: {
13389
+ active?: boolean;
13390
+ created_at?: string;
13391
+ description?: string | null;
13392
+ key?: string;
13393
+ label?: string;
13394
+ sort_order?: number;
13395
+ updated_at?: string;
13396
+ };
13397
+ Relationships: [];
13398
+ };
12440
13399
  ai_model_pricing: {
12441
13400
  Row: {
12442
13401
  created_at: string;
@@ -13223,6 +14182,141 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
13223
14182
  };
13224
14183
  Relationships: [];
13225
14184
  };
14185
+ cart_planning_pick_times: {
14186
+ Row: {
14187
+ created_at: string;
14188
+ id: string;
14189
+ pot_size: string;
14190
+ seconds_per_cart: number;
14191
+ updated_at: string;
14192
+ };
14193
+ Insert: {
14194
+ created_at?: string;
14195
+ id?: string;
14196
+ pot_size: string;
14197
+ seconds_per_cart: number;
14198
+ updated_at?: string;
14199
+ };
14200
+ Update: {
14201
+ created_at?: string;
14202
+ id?: string;
14203
+ pot_size?: string;
14204
+ seconds_per_cart?: number;
14205
+ updated_at?: string;
14206
+ };
14207
+ Relationships: [];
14208
+ };
14209
+ cart_planning_product_overrides: {
14210
+ Row: {
14211
+ created_at: string;
14212
+ id: string;
14213
+ max_party_share_per_layer_pct_override: number | null;
14214
+ never_mix: boolean;
14215
+ notes: string | null;
14216
+ product_id: string;
14217
+ updated_at: string;
14218
+ };
14219
+ Insert: {
14220
+ created_at?: string;
14221
+ id?: string;
14222
+ max_party_share_per_layer_pct_override?: number | null;
14223
+ never_mix?: boolean;
14224
+ notes?: string | null;
14225
+ product_id: string;
14226
+ updated_at?: string;
14227
+ };
14228
+ Update: {
14229
+ created_at?: string;
14230
+ id?: string;
14231
+ max_party_share_per_layer_pct_override?: number | null;
14232
+ never_mix?: boolean;
14233
+ notes?: string | null;
14234
+ product_id?: string;
14235
+ updated_at?: string;
14236
+ };
14237
+ Relationships: [{
14238
+ foreignKeyName: "cart_planning_product_overrides_product_id_fkey";
14239
+ columns: ["product_id"];
14240
+ isOneToOne: true;
14241
+ referencedRelation: "products";
14242
+ referencedColumns: ["id"];
14243
+ }];
14244
+ };
14245
+ cart_planning_settings: {
14246
+ Row: {
14247
+ allow_editing_after_pickstation_send: boolean;
14248
+ buffer_grouping_mode: string;
14249
+ combine_floriday_orders: boolean;
14250
+ combine_floriday_orders_window: string;
14251
+ combine_orders_scope: string;
14252
+ default_workers: number;
14253
+ id: number;
14254
+ max_beladingen_per_layer: number;
14255
+ max_customers_per_cart: number;
14256
+ max_one_customer_per_layer: boolean;
14257
+ max_party_share_per_layer_pct: number;
14258
+ optimization_strategy: string;
14259
+ own_cart_from_layers: number;
14260
+ pick_time_mode: string;
14261
+ plants_per_day: number;
14262
+ plants_per_hour: number;
14263
+ require_same_carrier: boolean;
14264
+ require_same_crate_type: boolean;
14265
+ require_same_delivery_date: boolean;
14266
+ require_same_delivery_location: boolean;
14267
+ updated_at: string;
14268
+ updated_by: string | null;
14269
+ };
14270
+ Insert: {
14271
+ allow_editing_after_pickstation_send?: boolean;
14272
+ buffer_grouping_mode?: string;
14273
+ combine_floriday_orders?: boolean;
14274
+ combine_floriday_orders_window?: string;
14275
+ combine_orders_scope?: string;
14276
+ default_workers?: number;
14277
+ id?: number;
14278
+ max_beladingen_per_layer?: number;
14279
+ max_customers_per_cart?: number;
14280
+ max_one_customer_per_layer?: boolean;
14281
+ max_party_share_per_layer_pct?: number;
14282
+ optimization_strategy?: string;
14283
+ own_cart_from_layers?: number;
14284
+ pick_time_mode?: string;
14285
+ plants_per_day?: number;
14286
+ plants_per_hour?: number;
14287
+ require_same_carrier?: boolean;
14288
+ require_same_crate_type?: boolean;
14289
+ require_same_delivery_date?: boolean;
14290
+ require_same_delivery_location?: boolean;
14291
+ updated_at?: string;
14292
+ updated_by?: string | null;
14293
+ };
14294
+ Update: {
14295
+ allow_editing_after_pickstation_send?: boolean;
14296
+ buffer_grouping_mode?: string;
14297
+ combine_floriday_orders?: boolean;
14298
+ combine_floriday_orders_window?: string;
14299
+ combine_orders_scope?: string;
14300
+ default_workers?: number;
14301
+ id?: number;
14302
+ max_beladingen_per_layer?: number;
14303
+ max_customers_per_cart?: number;
14304
+ max_one_customer_per_layer?: boolean;
14305
+ max_party_share_per_layer_pct?: number;
14306
+ optimization_strategy?: string;
14307
+ own_cart_from_layers?: number;
14308
+ pick_time_mode?: string;
14309
+ plants_per_day?: number;
14310
+ plants_per_hour?: number;
14311
+ require_same_carrier?: boolean;
14312
+ require_same_crate_type?: boolean;
14313
+ require_same_delivery_date?: boolean;
14314
+ require_same_delivery_location?: boolean;
14315
+ updated_at?: string;
14316
+ updated_by?: string | null;
14317
+ };
14318
+ Relationships: [];
14319
+ };
13226
14320
  cart_replan_queue: {
13227
14321
  Row: {
13228
14322
  attempts: number;
@@ -13253,6 +14347,39 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
13253
14347
  referencedColumns: ["id"];
13254
14348
  }];
13255
14349
  };
14350
+ cart_types: {
14351
+ Row: {
14352
+ created_at: string;
14353
+ id: string;
14354
+ is_default: boolean;
14355
+ layer_length_cm: number;
14356
+ layer_width_cm: number;
14357
+ layers_per_cart: number;
14358
+ name: string;
14359
+ updated_at: string;
14360
+ };
14361
+ Insert: {
14362
+ created_at?: string;
14363
+ id?: string;
14364
+ is_default?: boolean;
14365
+ layer_length_cm: number;
14366
+ layer_width_cm: number;
14367
+ layers_per_cart?: number;
14368
+ name: string;
14369
+ updated_at?: string;
14370
+ };
14371
+ Update: {
14372
+ created_at?: string;
14373
+ id?: string;
14374
+ is_default?: boolean;
14375
+ layer_length_cm?: number;
14376
+ layer_width_cm?: number;
14377
+ layers_per_cart?: number;
14378
+ name?: string;
14379
+ updated_at?: string;
14380
+ };
14381
+ Relationships: [];
14382
+ };
13256
14383
  catalog_articles_cache: {
13257
14384
  Row: {
13258
14385
  created_at: string;
@@ -13340,6 +14467,36 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
13340
14467
  };
13341
14468
  Relationships: [];
13342
14469
  };
14470
+ crate_types: {
14471
+ Row: {
14472
+ created_at: string;
14473
+ id: string;
14474
+ length_cm: number;
14475
+ name: string;
14476
+ plants_per_crate: number;
14477
+ updated_at: string;
14478
+ width_cm: number;
14479
+ };
14480
+ Insert: {
14481
+ created_at?: string;
14482
+ id?: string;
14483
+ length_cm: number;
14484
+ name: string;
14485
+ plants_per_crate?: number;
14486
+ updated_at?: string;
14487
+ width_cm: number;
14488
+ };
14489
+ Update: {
14490
+ created_at?: string;
14491
+ id?: string;
14492
+ length_cm?: number;
14493
+ name?: string;
14494
+ plants_per_crate?: number;
14495
+ updated_at?: string;
14496
+ width_cm?: number;
14497
+ };
14498
+ Relationships: [];
14499
+ };
13343
14500
  customer_audit_log: {
13344
14501
  Row: {
13345
14502
  action: string;
@@ -17857,27 +19014,309 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
17857
19014
  };
17858
19015
  Insert: {
17859
19016
  created_at?: string;
17860
- created_by?: string | null;
19017
+ created_by?: string | null;
19018
+ id?: string;
19019
+ period_end: string;
19020
+ period_start: string;
19021
+ status?: string;
19022
+ total_excl_vat?: number | null;
19023
+ total_incl_vat?: number | null;
19024
+ vat_amount?: number | null;
19025
+ };
19026
+ Update: {
19027
+ created_at?: string;
19028
+ created_by?: string | null;
19029
+ id?: string;
19030
+ period_end?: string;
19031
+ period_start?: string;
19032
+ status?: string;
19033
+ total_excl_vat?: number | null;
19034
+ total_incl_vat?: number | null;
19035
+ vat_amount?: number | null;
19036
+ };
19037
+ Relationships: [];
19038
+ };
19039
+ itk_contact_persons: {
19040
+ Row: {
19041
+ created_at: string;
19042
+ customer_id: string;
19043
+ email: string | null;
19044
+ id: string;
19045
+ name: string;
19046
+ phone: string | null;
19047
+ role: string | null;
19048
+ updated_at: string;
19049
+ };
19050
+ Insert: {
19051
+ created_at?: string;
19052
+ customer_id: string;
19053
+ email?: string | null;
19054
+ id?: string;
19055
+ name: string;
19056
+ phone?: string | null;
19057
+ role?: string | null;
19058
+ updated_at?: string;
19059
+ };
19060
+ Update: {
19061
+ created_at?: string;
19062
+ customer_id?: string;
19063
+ email?: string | null;
19064
+ id?: string;
19065
+ name?: string;
19066
+ phone?: string | null;
19067
+ role?: string | null;
19068
+ updated_at?: string;
19069
+ };
19070
+ Relationships: [{
19071
+ foreignKeyName: "itk_contact_persons_customer_id_fkey";
19072
+ columns: ["customer_id"];
19073
+ isOneToOne: false;
19074
+ referencedRelation: "itk_customers";
19075
+ referencedColumns: ["id"];
19076
+ }];
19077
+ };
19078
+ itk_customer_dynamic_values: {
19079
+ Row: {
19080
+ created_at: string;
19081
+ customer_id: string;
19082
+ field_id: string;
19083
+ id: string;
19084
+ updated_at: string;
19085
+ value: string | null;
19086
+ };
19087
+ Insert: {
19088
+ created_at?: string;
19089
+ customer_id: string;
19090
+ field_id: string;
19091
+ id?: string;
19092
+ updated_at?: string;
19093
+ value?: string | null;
19094
+ };
19095
+ Update: {
19096
+ created_at?: string;
19097
+ customer_id?: string;
19098
+ field_id?: string;
19099
+ id?: string;
19100
+ updated_at?: string;
19101
+ value?: string | null;
19102
+ };
19103
+ Relationships: [{
19104
+ foreignKeyName: "itk_customer_dynamic_values_customer_id_fkey";
19105
+ columns: ["customer_id"];
19106
+ isOneToOne: false;
19107
+ referencedRelation: "itk_customers";
19108
+ referencedColumns: ["id"];
19109
+ }, {
19110
+ foreignKeyName: "itk_customer_dynamic_values_field_id_fkey";
19111
+ columns: ["field_id"];
19112
+ isOneToOne: false;
19113
+ referencedRelation: "itk_dynamic_fields";
19114
+ referencedColumns: ["id"];
19115
+ }];
19116
+ };
19117
+ itk_customer_notes: {
19118
+ Row: {
19119
+ body: string;
19120
+ created_at: string;
19121
+ created_by: string | null;
19122
+ customer_id: string;
19123
+ id: string;
19124
+ note_type: string;
19125
+ updated_at: string;
19126
+ };
19127
+ Insert: {
19128
+ body: string;
19129
+ created_at?: string;
19130
+ created_by?: string | null;
19131
+ customer_id: string;
19132
+ id?: string;
19133
+ note_type?: string;
19134
+ updated_at?: string;
19135
+ };
19136
+ Update: {
19137
+ body?: string;
19138
+ created_at?: string;
19139
+ created_by?: string | null;
19140
+ customer_id?: string;
19141
+ id?: string;
19142
+ note_type?: string;
19143
+ updated_at?: string;
19144
+ };
19145
+ Relationships: [{
19146
+ foreignKeyName: "itk_customer_notes_customer_id_fkey";
19147
+ columns: ["customer_id"];
19148
+ isOneToOne: false;
19149
+ referencedRelation: "itk_customers";
19150
+ referencedColumns: ["id"];
19151
+ }];
19152
+ };
19153
+ itk_customers: {
19154
+ Row: {
19155
+ billing_city: string | null;
19156
+ billing_postcode: string | null;
19157
+ billing_street: string | null;
19158
+ created_at: string;
19159
+ general_email: string | null;
19160
+ general_phone: string | null;
19161
+ id: string;
19162
+ legacy_customer_id: string | null;
19163
+ name: string;
19164
+ segment: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19165
+ updated_at: string;
19166
+ };
19167
+ Insert: {
19168
+ billing_city?: string | null;
19169
+ billing_postcode?: string | null;
19170
+ billing_street?: string | null;
19171
+ created_at?: string;
19172
+ general_email?: string | null;
19173
+ general_phone?: string | null;
19174
+ id?: string;
19175
+ legacy_customer_id?: string | null;
19176
+ name: string;
19177
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19178
+ updated_at?: string;
19179
+ };
19180
+ Update: {
19181
+ billing_city?: string | null;
19182
+ billing_postcode?: string | null;
19183
+ billing_street?: string | null;
19184
+ created_at?: string;
19185
+ general_email?: string | null;
19186
+ general_phone?: string | null;
19187
+ id?: string;
19188
+ legacy_customer_id?: string | null;
19189
+ name?: string;
19190
+ segment?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_customer_segment"];
19191
+ updated_at?: string;
19192
+ };
19193
+ Relationships: [{
19194
+ foreignKeyName: "itk_customers_legacy_customer_id_fkey";
19195
+ columns: ["legacy_customer_id"];
19196
+ isOneToOne: false;
19197
+ referencedRelation: "customers";
19198
+ referencedColumns: ["id"];
19199
+ }];
19200
+ };
19201
+ itk_dynamic_fields: {
19202
+ Row: {
19203
+ created_at: string;
19204
+ field_name: string;
19205
+ field_type: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19206
+ id: string;
19207
+ options: import("../integrations/supabase/types").Json;
19208
+ sort_order: number;
19209
+ updated_at: string;
19210
+ };
19211
+ Insert: {
19212
+ created_at?: string;
19213
+ field_name: string;
19214
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19215
+ id?: string;
19216
+ options?: import("../integrations/supabase/types").Json;
19217
+ sort_order?: number;
19218
+ updated_at?: string;
19219
+ };
19220
+ Update: {
19221
+ created_at?: string;
19222
+ field_name?: string;
19223
+ field_type?: import("../integrations/supabase/types").Database["public"]["Enums"]["itk_dynamic_field_type"];
19224
+ id?: string;
19225
+ options?: import("../integrations/supabase/types").Json;
19226
+ sort_order?: number;
19227
+ updated_at?: string;
19228
+ };
19229
+ Relationships: [];
19230
+ };
19231
+ itk_work_locations: {
19232
+ Row: {
19233
+ city: string | null;
19234
+ created_at: string;
19235
+ customer_id: string;
19236
+ id: string;
19237
+ instructions: string | null;
19238
+ label: string;
19239
+ latitude: number | null;
19240
+ longitude: number | null;
19241
+ postcode: string | null;
19242
+ street: string | null;
19243
+ updated_at: string;
19244
+ };
19245
+ Insert: {
19246
+ city?: string | null;
19247
+ created_at?: string;
19248
+ customer_id: string;
19249
+ id?: string;
19250
+ instructions?: string | null;
19251
+ label: string;
19252
+ latitude?: number | null;
19253
+ longitude?: number | null;
19254
+ postcode?: string | null;
19255
+ street?: string | null;
19256
+ updated_at?: string;
19257
+ };
19258
+ Update: {
19259
+ city?: string | null;
19260
+ created_at?: string;
19261
+ customer_id?: string;
19262
+ id?: string;
19263
+ instructions?: string | null;
19264
+ label?: string;
19265
+ latitude?: number | null;
19266
+ longitude?: number | null;
19267
+ postcode?: string | null;
19268
+ street?: string | null;
19269
+ updated_at?: string;
19270
+ };
19271
+ Relationships: [{
19272
+ foreignKeyName: "itk_work_locations_customer_id_fkey";
19273
+ columns: ["customer_id"];
19274
+ isOneToOne: false;
19275
+ referencedRelation: "itk_customers";
19276
+ referencedColumns: ["id"];
19277
+ }];
19278
+ };
19279
+ leave_requests: {
19280
+ Row: {
19281
+ created_at: string;
19282
+ end_date: string;
19283
+ id: string;
19284
+ reason: string | null;
19285
+ start_date: string;
19286
+ status: string;
19287
+ tenant_id: string;
19288
+ updated_at: string;
19289
+ user_id: string;
19290
+ };
19291
+ Insert: {
19292
+ created_at?: string;
19293
+ end_date: string;
17861
19294
  id?: string;
17862
- period_end: string;
17863
- period_start: string;
19295
+ reason?: string | null;
19296
+ start_date: string;
17864
19297
  status?: string;
17865
- total_excl_vat?: number | null;
17866
- total_incl_vat?: number | null;
17867
- vat_amount?: number | null;
19298
+ tenant_id?: string;
19299
+ updated_at?: string;
19300
+ user_id: string;
17868
19301
  };
17869
19302
  Update: {
17870
19303
  created_at?: string;
17871
- created_by?: string | null;
19304
+ end_date?: string;
17872
19305
  id?: string;
17873
- period_end?: string;
17874
- period_start?: string;
19306
+ reason?: string | null;
19307
+ start_date?: string;
17875
19308
  status?: string;
17876
- total_excl_vat?: number | null;
17877
- total_incl_vat?: number | null;
17878
- vat_amount?: number | null;
19309
+ tenant_id?: string;
19310
+ updated_at?: string;
19311
+ user_id?: string;
17879
19312
  };
17880
- Relationships: [];
19313
+ Relationships: [{
19314
+ foreignKeyName: "leave_requests_user_id_fkey";
19315
+ columns: ["user_id"];
19316
+ isOneToOne: false;
19317
+ referencedRelation: "monteurs";
19318
+ referencedColumns: ["id"];
19319
+ }];
17881
19320
  };
17882
19321
  local_customer_agreements: {
17883
19322
  Row: {
@@ -18530,6 +19969,33 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
18530
19969
  };
18531
19970
  Relationships: [];
18532
19971
  };
19972
+ module_permissions: {
19973
+ Row: {
19974
+ created_at: string;
19975
+ id: string;
19976
+ module_id: string;
19977
+ permission: string;
19978
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
19979
+ updated_at: string;
19980
+ };
19981
+ Insert: {
19982
+ created_at?: string;
19983
+ id?: string;
19984
+ module_id: string;
19985
+ permission: string;
19986
+ role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
19987
+ updated_at?: string;
19988
+ };
19989
+ Update: {
19990
+ created_at?: string;
19991
+ id?: string;
19992
+ module_id?: string;
19993
+ permission?: string;
19994
+ role?: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
19995
+ updated_at?: string;
19996
+ };
19997
+ Relationships: [];
19998
+ };
18533
19999
  monteurs: {
18534
20000
  Row: {
18535
20001
  avatar_url: string | null;
@@ -19259,6 +20725,42 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19259
20725
  };
19260
20726
  Relationships: [];
19261
20727
  };
20728
+ order_buffers: {
20729
+ Row: {
20730
+ buffer_key: string;
20731
+ created_at: string;
20732
+ customer_id: string | null;
20733
+ grouping_mode: string;
20734
+ id: string;
20735
+ pickup_date: string | null;
20736
+ pickup_location: string | null;
20737
+ plan_locked_at: string | null;
20738
+ updated_at: string;
20739
+ };
20740
+ Insert: {
20741
+ buffer_key: string;
20742
+ created_at?: string;
20743
+ customer_id?: string | null;
20744
+ grouping_mode: string;
20745
+ id?: string;
20746
+ pickup_date?: string | null;
20747
+ pickup_location?: string | null;
20748
+ plan_locked_at?: string | null;
20749
+ updated_at?: string;
20750
+ };
20751
+ Update: {
20752
+ buffer_key?: string;
20753
+ created_at?: string;
20754
+ customer_id?: string | null;
20755
+ grouping_mode?: string;
20756
+ id?: string;
20757
+ pickup_date?: string | null;
20758
+ pickup_location?: string | null;
20759
+ plan_locked_at?: string | null;
20760
+ updated_at?: string;
20761
+ };
20762
+ Relationships: [];
20763
+ };
19262
20764
  order_cart_items: {
19263
20765
  Row: {
19264
20766
  cart_id: string;
@@ -19325,6 +20827,7 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19325
20827
  order_carts: {
19326
20828
  Row: {
19327
20829
  algorithm_version: number;
20830
+ buffer_id: string | null;
19328
20831
  cart_number: number;
19329
20832
  created_at: string;
19330
20833
  id: string;
@@ -19332,13 +20835,14 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19332
20835
  is_complete: boolean;
19333
20836
  notes: string | null;
19334
20837
  occupancy_pct: number;
19335
- order_id: string;
20838
+ order_id: string | null;
19336
20839
  source: string;
19337
20840
  total_layers_used: number;
19338
20841
  updated_at: string;
19339
20842
  };
19340
20843
  Insert: {
19341
20844
  algorithm_version?: number;
20845
+ buffer_id?: string | null;
19342
20846
  cart_number: number;
19343
20847
  created_at?: string;
19344
20848
  id?: string;
@@ -19346,13 +20850,14 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19346
20850
  is_complete?: boolean;
19347
20851
  notes?: string | null;
19348
20852
  occupancy_pct?: number;
19349
- order_id: string;
20853
+ order_id?: string | null;
19350
20854
  source?: string;
19351
20855
  total_layers_used?: number;
19352
20856
  updated_at?: string;
19353
20857
  };
19354
20858
  Update: {
19355
20859
  algorithm_version?: number;
20860
+ buffer_id?: string | null;
19356
20861
  cart_number?: number;
19357
20862
  created_at?: string;
19358
20863
  id?: string;
@@ -19360,12 +20865,18 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19360
20865
  is_complete?: boolean;
19361
20866
  notes?: string | null;
19362
20867
  occupancy_pct?: number;
19363
- order_id?: string;
20868
+ order_id?: string | null;
19364
20869
  source?: string;
19365
20870
  total_layers_used?: number;
19366
20871
  updated_at?: string;
19367
20872
  };
19368
20873
  Relationships: [{
20874
+ foreignKeyName: "order_carts_buffer_id_fkey";
20875
+ columns: ["buffer_id"];
20876
+ isOneToOne: false;
20877
+ referencedRelation: "order_buffers";
20878
+ referencedColumns: ["id"];
20879
+ }, {
19369
20880
  foreignKeyName: "order_carts_order_id_fkey";
19370
20881
  columns: ["order_id"];
19371
20882
  isOneToOne: false;
@@ -19502,15 +21013,117 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19502
21013
  };
19503
21014
  Relationships: [];
19504
21015
  };
21016
+ order_shipment_items: {
21017
+ Row: {
21018
+ created_at: string;
21019
+ id: string;
21020
+ order_item_id: string;
21021
+ product_id: string | null;
21022
+ product_name: string;
21023
+ quantity: number;
21024
+ shipment_id: string;
21025
+ updated_at: string;
21026
+ };
21027
+ Insert: {
21028
+ created_at?: string;
21029
+ id?: string;
21030
+ order_item_id: string;
21031
+ product_id?: string | null;
21032
+ product_name: string;
21033
+ quantity: number;
21034
+ shipment_id: string;
21035
+ updated_at?: string;
21036
+ };
21037
+ Update: {
21038
+ created_at?: string;
21039
+ id?: string;
21040
+ order_item_id?: string;
21041
+ product_id?: string | null;
21042
+ product_name?: string;
21043
+ quantity?: number;
21044
+ shipment_id?: string;
21045
+ updated_at?: string;
21046
+ };
21047
+ Relationships: [{
21048
+ foreignKeyName: "order_shipment_items_order_item_id_fkey";
21049
+ columns: ["order_item_id"];
21050
+ isOneToOne: false;
21051
+ referencedRelation: "order_items";
21052
+ referencedColumns: ["id"];
21053
+ }, {
21054
+ foreignKeyName: "order_shipment_items_shipment_id_fkey";
21055
+ columns: ["shipment_id"];
21056
+ isOneToOne: false;
21057
+ referencedRelation: "order_shipments";
21058
+ referencedColumns: ["id"];
21059
+ }];
21060
+ };
21061
+ order_shipments: {
21062
+ Row: {
21063
+ carrier_id: string | null;
21064
+ created_at: string;
21065
+ delivery_date: string | null;
21066
+ delivery_location_id: string | null;
21067
+ id: string;
21068
+ notes: string | null;
21069
+ order_id: string;
21070
+ shipment_number: number;
21071
+ shipped_at: string | null;
21072
+ status: string;
21073
+ updated_at: string;
21074
+ };
21075
+ Insert: {
21076
+ carrier_id?: string | null;
21077
+ created_at?: string;
21078
+ delivery_date?: string | null;
21079
+ delivery_location_id?: string | null;
21080
+ id?: string;
21081
+ notes?: string | null;
21082
+ order_id: string;
21083
+ shipment_number: number;
21084
+ shipped_at?: string | null;
21085
+ status?: string;
21086
+ updated_at?: string;
21087
+ };
21088
+ Update: {
21089
+ carrier_id?: string | null;
21090
+ created_at?: string;
21091
+ delivery_date?: string | null;
21092
+ delivery_location_id?: string | null;
21093
+ id?: string;
21094
+ notes?: string | null;
21095
+ order_id?: string;
21096
+ shipment_number?: number;
21097
+ shipped_at?: string | null;
21098
+ status?: string;
21099
+ updated_at?: string;
21100
+ };
21101
+ Relationships: [{
21102
+ foreignKeyName: "order_shipments_carrier_id_fkey";
21103
+ columns: ["carrier_id"];
21104
+ isOneToOne: false;
21105
+ referencedRelation: "carriers";
21106
+ referencedColumns: ["id"];
21107
+ }, {
21108
+ foreignKeyName: "order_shipments_order_id_fkey";
21109
+ columns: ["order_id"];
21110
+ isOneToOne: false;
21111
+ referencedRelation: "orders";
21112
+ referencedColumns: ["id"];
21113
+ }];
21114
+ };
19505
21115
  orders: {
19506
21116
  Row: {
21117
+ buffer_id: string | null;
19507
21118
  created_at: string;
19508
21119
  custom_fields: import("../integrations/supabase/types").Json;
19509
21120
  customer_id: string | null;
19510
21121
  customer_name: string;
19511
21122
  deleted_at: string | null;
19512
- delivery_date: string;
21123
+ delivery_date: string | null;
21124
+ floriday_sales_order_id: string | null;
19513
21125
  id: string;
21126
+ is_reservation: boolean;
19514
21127
  notes: string | null;
19515
21128
  order_date: string;
19516
21129
  order_number: string;
@@ -19522,13 +21135,16 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19522
21135
  updated_at: string;
19523
21136
  };
19524
21137
  Insert: {
21138
+ buffer_id?: string | null;
19525
21139
  created_at?: string;
19526
21140
  custom_fields?: import("../integrations/supabase/types").Json;
19527
21141
  customer_id?: string | null;
19528
21142
  customer_name?: string;
19529
21143
  deleted_at?: string | null;
19530
- delivery_date: string;
21144
+ delivery_date?: string | null;
21145
+ floriday_sales_order_id?: string | null;
19531
21146
  id?: string;
21147
+ is_reservation?: boolean;
19532
21148
  notes?: string | null;
19533
21149
  order_date?: string;
19534
21150
  order_number: string;
@@ -19540,13 +21156,16 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19540
21156
  updated_at?: string;
19541
21157
  };
19542
21158
  Update: {
21159
+ buffer_id?: string | null;
19543
21160
  created_at?: string;
19544
21161
  custom_fields?: import("../integrations/supabase/types").Json;
19545
21162
  customer_id?: string | null;
19546
21163
  customer_name?: string;
19547
21164
  deleted_at?: string | null;
19548
- delivery_date?: string;
21165
+ delivery_date?: string | null;
21166
+ floriday_sales_order_id?: string | null;
19549
21167
  id?: string;
21168
+ is_reservation?: boolean;
19550
21169
  notes?: string | null;
19551
21170
  order_date?: string;
19552
21171
  order_number?: string;
@@ -19558,6 +21177,12 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19558
21177
  updated_at?: string;
19559
21178
  };
19560
21179
  Relationships: [{
21180
+ foreignKeyName: "orders_buffer_id_fkey";
21181
+ columns: ["buffer_id"];
21182
+ isOneToOne: false;
21183
+ referencedRelation: "order_buffers";
21184
+ referencedColumns: ["id"];
21185
+ }, {
19561
21186
  foreignKeyName: "orders_customer_id_fkey";
19562
21187
  columns: ["customer_id"];
19563
21188
  isOneToOne: false;
@@ -19688,6 +21313,51 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19688
21313
  };
19689
21314
  Relationships: [];
19690
21315
  };
21316
+ planning_items: {
21317
+ Row: {
21318
+ assigned_monteur_id: string;
21319
+ created_at: string;
21320
+ created_by: string | null;
21321
+ end_at: string;
21322
+ id: string;
21323
+ notes: string | null;
21324
+ start_at: string;
21325
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21326
+ updated_at: string;
21327
+ werkbon_id: string;
21328
+ };
21329
+ Insert: {
21330
+ assigned_monteur_id: string;
21331
+ created_at?: string;
21332
+ created_by?: string | null;
21333
+ end_at: string;
21334
+ id?: string;
21335
+ notes?: string | null;
21336
+ start_at: string;
21337
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21338
+ updated_at?: string;
21339
+ werkbon_id: string;
21340
+ };
21341
+ Update: {
21342
+ assigned_monteur_id?: string;
21343
+ created_at?: string;
21344
+ created_by?: string | null;
21345
+ end_at?: string;
21346
+ id?: string;
21347
+ notes?: string | null;
21348
+ start_at?: string;
21349
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
21350
+ updated_at?: string;
21351
+ werkbon_id?: string;
21352
+ };
21353
+ Relationships: [{
21354
+ foreignKeyName: "planning_items_werkbon_id_fkey";
21355
+ columns: ["werkbon_id"];
21356
+ isOneToOne: false;
21357
+ referencedRelation: "werkbonnen";
21358
+ referencedColumns: ["id"];
21359
+ }];
21360
+ };
19691
21361
  product_categories: {
19692
21362
  Row: {
19693
21363
  color: string;
@@ -19821,6 +21491,8 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19821
21491
  Row: {
19822
21492
  created_at: string;
19823
21493
  description: string | null;
21494
+ head_product_id: string | null;
21495
+ head_trade_item_floriday_id: string | null;
19824
21496
  id: string;
19825
21497
  is_active: boolean;
19826
21498
  name: string;
@@ -19830,6 +21502,8 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19830
21502
  Insert: {
19831
21503
  created_at?: string;
19832
21504
  description?: string | null;
21505
+ head_product_id?: string | null;
21506
+ head_trade_item_floriday_id?: string | null;
19833
21507
  id?: string;
19834
21508
  is_active?: boolean;
19835
21509
  name: string;
@@ -19839,13 +21513,21 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
19839
21513
  Update: {
19840
21514
  created_at?: string;
19841
21515
  description?: string | null;
21516
+ head_product_id?: string | null;
21517
+ head_trade_item_floriday_id?: string | null;
19842
21518
  id?: string;
19843
21519
  is_active?: boolean;
19844
21520
  name?: string;
19845
21521
  tenant_id?: string;
19846
21522
  updated_at?: string;
19847
21523
  };
19848
- Relationships: [];
21524
+ Relationships: [{
21525
+ foreignKeyName: "product_groups_head_product_id_fkey";
21526
+ columns: ["head_product_id"];
21527
+ isOneToOne: false;
21528
+ referencedRelation: "products";
21529
+ referencedColumns: ["id"];
21530
+ }];
19849
21531
  };
19850
21532
  products: {
19851
21533
  Row: {
@@ -22396,6 +24078,7 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
22396
24078
  internal_notes: string | null;
22397
24079
  parent_werkbon_id: string | null;
22398
24080
  parsed_payload: import("../integrations/supabase/types").Json | null;
24081
+ planning_status: string;
22399
24082
  project_number: string | null;
22400
24083
  room_number: string | null;
22401
24084
  scheduled_end_time: string | null;
@@ -22403,6 +24086,7 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
22403
24086
  sequence_number: number;
22404
24087
  source_pdf_path: string | null;
22405
24088
  status: string;
24089
+ technician_id: string | null;
22406
24090
  technician_notes: string | null;
22407
24091
  technician_notes_raw: string | null;
22408
24092
  technician_task_description: string | null;
@@ -22423,6 +24107,7 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
22423
24107
  internal_notes?: string | null;
22424
24108
  parent_werkbon_id?: string | null;
22425
24109
  parsed_payload?: import("../integrations/supabase/types").Json | null;
24110
+ planning_status?: string;
22426
24111
  project_number?: string | null;
22427
24112
  room_number?: string | null;
22428
24113
  scheduled_end_time?: string | null;
@@ -22430,6 +24115,7 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
22430
24115
  sequence_number: number;
22431
24116
  source_pdf_path?: string | null;
22432
24117
  status?: string;
24118
+ technician_id?: string | null;
22433
24119
  technician_notes?: string | null;
22434
24120
  technician_notes_raw?: string | null;
22435
24121
  technician_task_description?: string | null;
@@ -22450,6 +24136,7 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
22450
24136
  internal_notes?: string | null;
22451
24137
  parent_werkbon_id?: string | null;
22452
24138
  parsed_payload?: import("../integrations/supabase/types").Json | null;
24139
+ planning_status?: string;
22453
24140
  project_number?: string | null;
22454
24141
  room_number?: string | null;
22455
24142
  scheduled_end_time?: string | null;
@@ -22457,6 +24144,7 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
22457
24144
  sequence_number?: number;
22458
24145
  source_pdf_path?: string | null;
22459
24146
  status?: string;
24147
+ technician_id?: string | null;
22460
24148
  technician_notes?: string | null;
22461
24149
  technician_notes_raw?: string | null;
22462
24150
  technician_task_description?: string | null;
@@ -22465,17 +24153,17 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
22465
24153
  work_address?: string | null;
22466
24154
  };
22467
24155
  Relationships: [{
22468
- foreignKeyName: "werkbonnen_customer_id_fkey";
22469
- columns: ["customer_id"];
22470
- isOneToOne: false;
22471
- referencedRelation: "customers";
22472
- referencedColumns: ["id"];
22473
- }, {
22474
24156
  foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
22475
24157
  columns: ["parent_werkbon_id"];
22476
24158
  isOneToOne: false;
22477
24159
  referencedRelation: "werkbonnen";
22478
24160
  referencedColumns: ["id"];
24161
+ }, {
24162
+ foreignKeyName: "werkbonnen_technician_id_fkey";
24163
+ columns: ["technician_id"];
24164
+ isOneToOne: false;
24165
+ referencedRelation: "monteurs";
24166
+ referencedColumns: ["id"];
22479
24167
  }];
22480
24168
  };
22481
24169
  work_order_monteurs: {
@@ -23194,6 +24882,21 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
23194
24882
  };
23195
24883
  Returns: string;
23196
24884
  };
24885
+ ai_usage_by_module: {
24886
+ Args: {
24887
+ _from: string;
24888
+ _to: string;
24889
+ };
24890
+ Returns: {
24891
+ calls: number;
24892
+ consumer_module_id: string;
24893
+ cost_usd: number;
24894
+ errors: number;
24895
+ input_tokens: number;
24896
+ output_tokens: number;
24897
+ total_tokens: number;
24898
+ }[];
24899
+ };
23197
24900
  apply_stock_consumption: {
23198
24901
  Args: {
23199
24902
  p_order_id: string;
@@ -23342,6 +25045,12 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
23342
25045
  Args: never;
23343
25046
  Returns: string;
23344
25047
  };
25048
+ custom_access_token_hook: {
25049
+ Args: {
25050
+ event: import("../integrations/supabase/types").Json;
25051
+ };
25052
+ Returns: import("../integrations/supabase/types").Json;
25053
+ };
23345
25054
  dashboard_alert_counts: {
23346
25055
  Args: never;
23347
25056
  Returns: import("../integrations/supabase/types").Json;
@@ -23677,6 +25386,14 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
23677
25386
  };
23678
25387
  Returns: string;
23679
25388
  };
25389
+ has_module_permission: {
25390
+ Args: {
25391
+ _min: string;
25392
+ _module_id: string;
25393
+ _user_id: string;
25394
+ };
25395
+ Returns: boolean;
25396
+ };
23680
25397
  has_role: {
23681
25398
  Args: {
23682
25399
  _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
@@ -23702,6 +25419,20 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
23702
25419
  };
23703
25420
  Returns: boolean;
23704
25421
  };
25422
+ jwt_has_role: {
25423
+ Args: {
25424
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
25425
+ };
25426
+ Returns: boolean;
25427
+ };
25428
+ list_monteurs: {
25429
+ Args: never;
25430
+ Returns: {
25431
+ display_name: string;
25432
+ email: string;
25433
+ user_id: string;
25434
+ }[];
25435
+ };
23705
25436
  local_effective_price: {
23706
25437
  Args: {
23707
25438
  _customer_id: string;
@@ -23718,6 +25449,22 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
23718
25449
  source_id: string;
23719
25450
  }[];
23720
25451
  };
25452
+ log_ai_call: {
25453
+ Args: {
25454
+ _consumer_module_id: string;
25455
+ _cost_usd: number;
25456
+ _duration_ms: number;
25457
+ _error_code: string;
25458
+ _error_message: string;
25459
+ _input_tokens: number;
25460
+ _model_slug: string;
25461
+ _output_tokens: number;
25462
+ _provider_slug: string;
25463
+ _status: string;
25464
+ _total_tokens: number;
25465
+ };
25466
+ Returns: string;
25467
+ };
23721
25468
  mark_offer_clicked: {
23722
25469
  Args: {
23723
25470
  p_code: string;
@@ -23730,6 +25477,12 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
23730
25477
  };
23731
25478
  Returns: undefined;
23732
25479
  };
25480
+ mark_shipment_shipped: {
25481
+ Args: {
25482
+ p_shipment_id: string;
25483
+ };
25484
+ Returns: undefined;
25485
+ };
23733
25486
  next_order_number: {
23734
25487
  Args: {
23735
25488
  p_prefix: string;
@@ -24206,9 +25959,12 @@ export declare const getEffectivePrice: import("@tanstack/start-client-core").Op
24206
25959
  };
24207
25960
  };
24208
25961
  Enums: {
24209
- app_role: "admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie" | "monteur";
25962
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
24210
25963
  exact_env: "staging" | "live";
24211
25964
  exact_push_status: "pending" | "sent" | "error";
25965
+ itk_customer_segment: "Business" | "Private";
25966
+ itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
25967
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd";
24212
25968
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
24213
25969
  };
24214
25970
  CompositeTypes: { [_ in never]: never; };