@flowselections/floriday-verkoop-module 1.0.24 → 1.0.25

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 (51) hide show
  1. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1057 -17
  2. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  3. package/dist-lib/integrations/supabase/client.d.ts +1057 -17
  4. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  5. package/dist-lib/integrations/supabase/client.server.d.ts +1057 -17
  6. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  7. package/dist-lib/integrations/supabase/types.d.ts +1079 -14
  8. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  9. package/dist-lib/integrations/supabase/types.js +9 -1
  10. package/dist-lib/lib/cart-lock.functions.d.ts +1057 -17
  11. package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
  12. package/dist-lib/lib/cart-planning-settings.functions.d.ts +11506 -66
  13. package/dist-lib/lib/cart-planning-settings.functions.d.ts.map +1 -1
  14. package/dist-lib/lib/cart-replan.functions.d.ts +3138 -18
  15. package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
  16. package/dist-lib/lib/create-order.functions.d.ts +12552 -72
  17. package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
  18. package/dist-lib/lib/cron/index.d.ts +5 -0
  19. package/dist-lib/lib/cron/index.d.ts.map +1 -0
  20. package/dist-lib/lib/cron/index.js +4 -0
  21. package/dist-lib/lib/cron/mirror-floriday-orders.d.ts +4 -0
  22. package/dist-lib/lib/cron/mirror-floriday-orders.d.ts.map +1 -0
  23. package/dist-lib/lib/cron/mirror-floriday-orders.js +23 -0
  24. package/dist-lib/lib/cron/replan-carts.d.ts +4 -0
  25. package/dist-lib/lib/cron/replan-carts.d.ts.map +1 -0
  26. package/dist-lib/lib/cron/replan-carts.js +18 -0
  27. package/dist-lib/lib/cron/sync-salesorders.d.ts +4 -0
  28. package/dist-lib/lib/cron/sync-salesorders.d.ts.map +1 -0
  29. package/dist-lib/lib/cron/sync-salesorders.js +18 -0
  30. package/dist-lib/lib/cron/sync-tradeitems.d.ts +4 -0
  31. package/dist-lib/lib/cron/sync-tradeitems.d.ts.map +1 -0
  32. package/dist-lib/lib/cron/sync-tradeitems.js +18 -0
  33. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +3138 -18
  34. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
  35. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +1057 -17
  36. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
  37. package/dist-lib/lib/floriday-mirror.functions.d.ts +1057 -17
  38. package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
  39. package/dist-lib/lib/floriday-public.functions.d.ts +7322 -42
  40. package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
  41. package/dist-lib/lib/floriday-writes.functions.d.ts +5230 -30
  42. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  43. package/dist-lib/lib/order-buffers.functions.d.ts +3138 -18
  44. package/dist-lib/lib/order-buffers.functions.d.ts.map +1 -1
  45. package/dist-lib/lib/order-shipments.functions.d.ts +4184 -24
  46. package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
  47. package/dist-lib/lib/salesorders.functions.d.ts +5230 -30
  48. package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
  49. package/dist-lib/lib/tradeitems.functions.d.ts +1057 -17
  50. package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
  51. package/package.json +24 -2
@@ -296,6 +296,57 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
296
296
  referencedColumns: ["id"];
297
297
  }];
298
298
  };
299
+ ai_call_log: {
300
+ Row: {
301
+ consumer_module_id: string;
302
+ cost_usd: number | null;
303
+ created_at: string;
304
+ created_by: string | null;
305
+ duration_ms: number | null;
306
+ error_code: string | null;
307
+ error_message: string | null;
308
+ id: string;
309
+ input_tokens: number;
310
+ model_slug: string | null;
311
+ output_tokens: number;
312
+ provider_slug: string | null;
313
+ status: string;
314
+ total_tokens: number;
315
+ };
316
+ Insert: {
317
+ consumer_module_id: string;
318
+ cost_usd?: number | null;
319
+ created_at?: string;
320
+ created_by?: string | null;
321
+ duration_ms?: number | null;
322
+ error_code?: string | null;
323
+ error_message?: string | null;
324
+ id?: string;
325
+ input_tokens?: number;
326
+ model_slug?: string | null;
327
+ output_tokens?: number;
328
+ provider_slug?: string | null;
329
+ status: string;
330
+ total_tokens?: number;
331
+ };
332
+ Update: {
333
+ consumer_module_id?: string;
334
+ cost_usd?: number | null;
335
+ created_at?: string;
336
+ created_by?: string | null;
337
+ duration_ms?: number | null;
338
+ error_code?: string | null;
339
+ error_message?: string | null;
340
+ id?: string;
341
+ input_tokens?: number;
342
+ model_slug?: string | null;
343
+ output_tokens?: number;
344
+ provider_slug?: string | null;
345
+ status?: string;
346
+ total_tokens?: number;
347
+ };
348
+ Relationships: [];
349
+ };
299
350
  ai_credentials: {
300
351
  Row: {
301
352
  active: boolean;
@@ -332,6 +383,36 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
332
383
  referencedColumns: ["id"];
333
384
  }];
334
385
  };
386
+ ai_goals: {
387
+ Row: {
388
+ active: boolean;
389
+ created_at: string;
390
+ description: string | null;
391
+ key: string;
392
+ label: string;
393
+ sort_order: number;
394
+ updated_at: string;
395
+ };
396
+ Insert: {
397
+ active?: boolean;
398
+ created_at?: string;
399
+ description?: string | null;
400
+ key: string;
401
+ label: string;
402
+ sort_order?: number;
403
+ updated_at?: string;
404
+ };
405
+ Update: {
406
+ active?: boolean;
407
+ created_at?: string;
408
+ description?: string | null;
409
+ key?: string;
410
+ label?: string;
411
+ sort_order?: number;
412
+ updated_at?: string;
413
+ };
414
+ Relationships: [];
415
+ };
335
416
  ai_model_pricing: {
336
417
  Row: {
337
418
  created_at: string;
@@ -6476,6 +6557,285 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
6476
6557
  };
6477
6558
  Relationships: [];
6478
6559
  };
6560
+ logistics_capacity_events: {
6561
+ Row: {
6562
+ available_carts: number;
6563
+ created_at: string;
6564
+ id: string;
6565
+ measures: import("../integrations/supabase/types").Json;
6566
+ note: string | null;
6567
+ outcome: string;
6568
+ required_carts: number;
6569
+ reserve_minutes: number;
6570
+ shortage_carts: number;
6571
+ status: string;
6572
+ user_id: string;
6573
+ };
6574
+ Insert: {
6575
+ available_carts?: number;
6576
+ created_at?: string;
6577
+ id?: string;
6578
+ measures?: import("../integrations/supabase/types").Json;
6579
+ note?: string | null;
6580
+ outcome?: string;
6581
+ required_carts?: number;
6582
+ reserve_minutes?: number;
6583
+ shortage_carts?: number;
6584
+ status: string;
6585
+ user_id: string;
6586
+ };
6587
+ Update: {
6588
+ available_carts?: number;
6589
+ created_at?: string;
6590
+ id?: string;
6591
+ measures?: import("../integrations/supabase/types").Json;
6592
+ note?: string | null;
6593
+ outcome?: string;
6594
+ required_carts?: number;
6595
+ reserve_minutes?: number;
6596
+ shortage_carts?: number;
6597
+ status?: string;
6598
+ user_id?: string;
6599
+ };
6600
+ Relationships: [];
6601
+ };
6602
+ logistics_capacity_settings: {
6603
+ Row: {
6604
+ created_at: string;
6605
+ settings: import("../integrations/supabase/types").Json;
6606
+ updated_at: string;
6607
+ user_id: string;
6608
+ };
6609
+ Insert: {
6610
+ created_at?: string;
6611
+ settings?: import("../integrations/supabase/types").Json;
6612
+ updated_at?: string;
6613
+ user_id: string;
6614
+ };
6615
+ Update: {
6616
+ created_at?: string;
6617
+ settings?: import("../integrations/supabase/types").Json;
6618
+ updated_at?: string;
6619
+ user_id?: string;
6620
+ };
6621
+ Relationships: [];
6622
+ };
6623
+ logistics_decisions: {
6624
+ Row: {
6625
+ created_at: string;
6626
+ explanation: string | null;
6627
+ id: string;
6628
+ input_snapshot: import("../integrations/supabase/types").Json;
6629
+ result: import("../integrations/supabase/types").Json;
6630
+ slot: string;
6631
+ strategy_id: string | null;
6632
+ subject_id: string;
6633
+ subject_type: string;
6634
+ user_id: string;
6635
+ };
6636
+ Insert: {
6637
+ created_at?: string;
6638
+ explanation?: string | null;
6639
+ id?: string;
6640
+ input_snapshot?: import("../integrations/supabase/types").Json;
6641
+ result?: import("../integrations/supabase/types").Json;
6642
+ slot: string;
6643
+ strategy_id?: string | null;
6644
+ subject_id: string;
6645
+ subject_type: string;
6646
+ user_id: string;
6647
+ };
6648
+ Update: {
6649
+ created_at?: string;
6650
+ explanation?: string | null;
6651
+ id?: string;
6652
+ input_snapshot?: import("../integrations/supabase/types").Json;
6653
+ result?: import("../integrations/supabase/types").Json;
6654
+ slot?: string;
6655
+ strategy_id?: string | null;
6656
+ subject_id?: string;
6657
+ subject_type?: string;
6658
+ user_id?: string;
6659
+ };
6660
+ Relationships: [{
6661
+ foreignKeyName: "logistics_decisions_strategy_id_fkey";
6662
+ columns: ["strategy_id"];
6663
+ isOneToOne: false;
6664
+ referencedRelation: "logistics_strategies";
6665
+ referencedColumns: ["id"];
6666
+ }];
6667
+ };
6668
+ logistics_formulas: {
6669
+ Row: {
6670
+ created_at: string;
6671
+ expression: string;
6672
+ id: string;
6673
+ notes: string | null;
6674
+ slot: string;
6675
+ strategy_id: string;
6676
+ updated_at: string;
6677
+ user_id: string;
6678
+ version: number;
6679
+ };
6680
+ Insert: {
6681
+ created_at?: string;
6682
+ expression?: string;
6683
+ id?: string;
6684
+ notes?: string | null;
6685
+ slot: string;
6686
+ strategy_id: string;
6687
+ updated_at?: string;
6688
+ user_id: string;
6689
+ version?: number;
6690
+ };
6691
+ Update: {
6692
+ created_at?: string;
6693
+ expression?: string;
6694
+ id?: string;
6695
+ notes?: string | null;
6696
+ slot?: string;
6697
+ strategy_id?: string;
6698
+ updated_at?: string;
6699
+ user_id?: string;
6700
+ version?: number;
6701
+ };
6702
+ Relationships: [{
6703
+ foreignKeyName: "logistics_formulas_strategy_id_fkey";
6704
+ columns: ["strategy_id"];
6705
+ isOneToOne: false;
6706
+ referencedRelation: "logistics_strategies";
6707
+ referencedColumns: ["id"];
6708
+ }];
6709
+ };
6710
+ logistics_strategies: {
6711
+ Row: {
6712
+ color: string;
6713
+ created_at: string;
6714
+ description: string | null;
6715
+ id: string;
6716
+ is_active: boolean;
6717
+ name: string;
6718
+ priority: number;
6719
+ updated_at: string;
6720
+ updated_by: string | null;
6721
+ user_id: string;
6722
+ version: number;
6723
+ };
6724
+ Insert: {
6725
+ color?: string;
6726
+ created_at?: string;
6727
+ description?: string | null;
6728
+ id?: string;
6729
+ is_active?: boolean;
6730
+ name: string;
6731
+ priority?: number;
6732
+ updated_at?: string;
6733
+ updated_by?: string | null;
6734
+ user_id: string;
6735
+ version?: number;
6736
+ };
6737
+ Update: {
6738
+ color?: string;
6739
+ created_at?: string;
6740
+ description?: string | null;
6741
+ id?: string;
6742
+ is_active?: boolean;
6743
+ name?: string;
6744
+ priority?: number;
6745
+ updated_at?: string;
6746
+ updated_by?: string | null;
6747
+ user_id?: string;
6748
+ version?: number;
6749
+ };
6750
+ Relationships: [];
6751
+ };
6752
+ logistics_strategy_schedules: {
6753
+ Row: {
6754
+ condition_expression: string | null;
6755
+ created_at: string;
6756
+ end_date: string | null;
6757
+ id: string;
6758
+ is_enabled: boolean;
6759
+ priority: number;
6760
+ rule_type: string;
6761
+ start_date: string | null;
6762
+ strategy_id: string;
6763
+ updated_at: string;
6764
+ user_id: string;
6765
+ };
6766
+ Insert: {
6767
+ condition_expression?: string | null;
6768
+ created_at?: string;
6769
+ end_date?: string | null;
6770
+ id?: string;
6771
+ is_enabled?: boolean;
6772
+ priority?: number;
6773
+ rule_type: string;
6774
+ start_date?: string | null;
6775
+ strategy_id: string;
6776
+ updated_at?: string;
6777
+ user_id: string;
6778
+ };
6779
+ Update: {
6780
+ condition_expression?: string | null;
6781
+ created_at?: string;
6782
+ end_date?: string | null;
6783
+ id?: string;
6784
+ is_enabled?: boolean;
6785
+ priority?: number;
6786
+ rule_type?: string;
6787
+ start_date?: string | null;
6788
+ strategy_id?: string;
6789
+ updated_at?: string;
6790
+ user_id?: string;
6791
+ };
6792
+ Relationships: [{
6793
+ foreignKeyName: "logistics_strategy_schedules_strategy_id_fkey";
6794
+ columns: ["strategy_id"];
6795
+ isOneToOne: false;
6796
+ referencedRelation: "logistics_strategies";
6797
+ referencedColumns: ["id"];
6798
+ }];
6799
+ };
6800
+ logistics_variables: {
6801
+ Row: {
6802
+ created_at: string;
6803
+ default_value: string | null;
6804
+ description: string | null;
6805
+ id: string;
6806
+ is_builtin: boolean;
6807
+ key: string;
6808
+ label: string;
6809
+ updated_at: string;
6810
+ user_id: string;
6811
+ value_type: string;
6812
+ };
6813
+ Insert: {
6814
+ created_at?: string;
6815
+ default_value?: string | null;
6816
+ description?: string | null;
6817
+ id?: string;
6818
+ is_builtin?: boolean;
6819
+ key: string;
6820
+ label: string;
6821
+ updated_at?: string;
6822
+ user_id: string;
6823
+ value_type: string;
6824
+ };
6825
+ Update: {
6826
+ created_at?: string;
6827
+ default_value?: string | null;
6828
+ description?: string | null;
6829
+ id?: string;
6830
+ is_builtin?: boolean;
6831
+ key?: string;
6832
+ label?: string;
6833
+ updated_at?: string;
6834
+ user_id?: string;
6835
+ value_type?: string;
6836
+ };
6837
+ Relationships: [];
6838
+ };
6479
6839
  mailbox_messages: {
6480
6840
  Row: {
6481
6841
  body_html: string | null;
@@ -8249,6 +8609,138 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8249
8609
  };
8250
8610
  Relationships: [];
8251
8611
  };
8612
+ planning_item_assistants: {
8613
+ Row: {
8614
+ created_at: string;
8615
+ created_by: string | null;
8616
+ monteur_id: string;
8617
+ planning_item_id: string;
8618
+ };
8619
+ Insert: {
8620
+ created_at?: string;
8621
+ created_by?: string | null;
8622
+ monteur_id: string;
8623
+ planning_item_id: string;
8624
+ };
8625
+ Update: {
8626
+ created_at?: string;
8627
+ created_by?: string | null;
8628
+ monteur_id?: string;
8629
+ planning_item_id?: string;
8630
+ };
8631
+ Relationships: [{
8632
+ foreignKeyName: "planning_item_assistants_planning_item_id_fkey";
8633
+ columns: ["planning_item_id"];
8634
+ isOneToOne: false;
8635
+ referencedRelation: "planning_items";
8636
+ referencedColumns: ["id"];
8637
+ }];
8638
+ };
8639
+ planning_items: {
8640
+ Row: {
8641
+ assigned_monteur_id: string;
8642
+ created_at: string;
8643
+ created_by: string | null;
8644
+ end_at: string;
8645
+ id: string;
8646
+ notes: string | null;
8647
+ start_at: string;
8648
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8649
+ updated_at: string;
8650
+ werkbon_id: string;
8651
+ };
8652
+ Insert: {
8653
+ assigned_monteur_id: string;
8654
+ created_at?: string;
8655
+ created_by?: string | null;
8656
+ end_at: string;
8657
+ id?: string;
8658
+ notes?: string | null;
8659
+ start_at: string;
8660
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8661
+ updated_at?: string;
8662
+ werkbon_id: string;
8663
+ };
8664
+ Update: {
8665
+ assigned_monteur_id?: string;
8666
+ created_at?: string;
8667
+ created_by?: string | null;
8668
+ end_at?: string;
8669
+ id?: string;
8670
+ notes?: string | null;
8671
+ start_at?: string;
8672
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
8673
+ updated_at?: string;
8674
+ werkbon_id?: string;
8675
+ };
8676
+ Relationships: [{
8677
+ foreignKeyName: "planning_items_werkbon_id_fkey";
8678
+ columns: ["werkbon_id"];
8679
+ isOneToOne: false;
8680
+ referencedRelation: "werkbonnen";
8681
+ referencedColumns: ["id"];
8682
+ }];
8683
+ };
8684
+ product_bom_items: {
8685
+ Row: {
8686
+ component_product_id: string | null;
8687
+ component_trade_item_floriday_id: string | null;
8688
+ created_at: string;
8689
+ id: string;
8690
+ notes: string | null;
8691
+ packing_configuration_id: string | null;
8692
+ parent_product_id: string | null;
8693
+ parent_trade_item_floriday_id: string | null;
8694
+ quantity: number;
8695
+ sort_order: number;
8696
+ tenant_id: string;
8697
+ unit: string;
8698
+ updated_at: string;
8699
+ };
8700
+ Insert: {
8701
+ component_product_id?: string | null;
8702
+ component_trade_item_floriday_id?: string | null;
8703
+ created_at?: string;
8704
+ id?: string;
8705
+ notes?: string | null;
8706
+ packing_configuration_id?: string | null;
8707
+ parent_product_id?: string | null;
8708
+ parent_trade_item_floriday_id?: string | null;
8709
+ quantity?: number;
8710
+ sort_order?: number;
8711
+ tenant_id: string;
8712
+ unit?: string;
8713
+ updated_at?: string;
8714
+ };
8715
+ Update: {
8716
+ component_product_id?: string | null;
8717
+ component_trade_item_floriday_id?: string | null;
8718
+ created_at?: string;
8719
+ id?: string;
8720
+ notes?: string | null;
8721
+ packing_configuration_id?: string | null;
8722
+ parent_product_id?: string | null;
8723
+ parent_trade_item_floriday_id?: string | null;
8724
+ quantity?: number;
8725
+ sort_order?: number;
8726
+ tenant_id?: string;
8727
+ unit?: string;
8728
+ updated_at?: string;
8729
+ };
8730
+ Relationships: [{
8731
+ foreignKeyName: "product_bom_items_component_product_id_fkey";
8732
+ columns: ["component_product_id"];
8733
+ isOneToOne: false;
8734
+ referencedRelation: "products";
8735
+ referencedColumns: ["id"];
8736
+ }, {
8737
+ foreignKeyName: "product_bom_items_parent_product_id_fkey";
8738
+ columns: ["parent_product_id"];
8739
+ isOneToOne: false;
8740
+ referencedRelation: "products";
8741
+ referencedColumns: ["id"];
8742
+ }];
8743
+ };
8252
8744
  product_categories: {
8253
8745
  Row: {
8254
8746
  color: string;
@@ -8354,6 +8846,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8354
8846
  id: string;
8355
8847
  product_group_id: string;
8356
8848
  quantity: number;
8849
+ sort_order: number;
8357
8850
  trade_item_id: string;
8358
8851
  };
8359
8852
  Insert: {
@@ -8361,6 +8854,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8361
8854
  id?: string;
8362
8855
  product_group_id: string;
8363
8856
  quantity?: number;
8857
+ sort_order?: number;
8364
8858
  trade_item_id: string;
8365
8859
  };
8366
8860
  Update: {
@@ -8368,6 +8862,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8368
8862
  id?: string;
8369
8863
  product_group_id?: string;
8370
8864
  quantity?: number;
8865
+ sort_order?: number;
8371
8866
  trade_item_id?: string;
8372
8867
  };
8373
8868
  Relationships: [{
@@ -8382,6 +8877,8 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8382
8877
  Row: {
8383
8878
  created_at: string;
8384
8879
  description: string | null;
8880
+ head_product_id: string | null;
8881
+ head_trade_item_floriday_id: string | null;
8385
8882
  id: string;
8386
8883
  is_active: boolean;
8387
8884
  name: string;
@@ -8391,6 +8888,8 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8391
8888
  Insert: {
8392
8889
  created_at?: string;
8393
8890
  description?: string | null;
8891
+ head_product_id?: string | null;
8892
+ head_trade_item_floriday_id?: string | null;
8394
8893
  id?: string;
8395
8894
  is_active?: boolean;
8396
8895
  name: string;
@@ -8400,24 +8899,134 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8400
8899
  Update: {
8401
8900
  created_at?: string;
8402
8901
  description?: string | null;
8902
+ head_product_id?: string | null;
8903
+ head_trade_item_floriday_id?: string | null;
8403
8904
  id?: string;
8404
8905
  is_active?: boolean;
8405
8906
  name?: string;
8406
8907
  tenant_id?: string;
8407
8908
  updated_at?: string;
8408
8909
  };
8910
+ Relationships: [{
8911
+ foreignKeyName: "product_groups_head_product_id_fkey";
8912
+ columns: ["head_product_id"];
8913
+ isOneToOne: false;
8914
+ referencedRelation: "products";
8915
+ referencedColumns: ["id"];
8916
+ }];
8917
+ };
8918
+ product_load_settings: {
8919
+ Row: {
8920
+ created_at: string;
8921
+ id: string;
8922
+ is_package: boolean;
8923
+ label: string | null;
8924
+ layers_per_load_carrier: number | null;
8925
+ load_carrier: string | null;
8926
+ package_id: string | null;
8927
+ package_label: string | null;
8928
+ packages_per_layer: number | null;
8929
+ packing_configuration_id: string;
8930
+ product_id: string | null;
8931
+ tenant_id: string;
8932
+ trade_item_floriday_id: string | null;
8933
+ units_per_package: number | null;
8934
+ updated_at: string;
8935
+ };
8936
+ Insert: {
8937
+ created_at?: string;
8938
+ id?: string;
8939
+ is_package?: boolean;
8940
+ label?: string | null;
8941
+ layers_per_load_carrier?: number | null;
8942
+ load_carrier?: string | null;
8943
+ package_id?: string | null;
8944
+ package_label?: string | null;
8945
+ packages_per_layer?: number | null;
8946
+ packing_configuration_id?: string;
8947
+ product_id?: string | null;
8948
+ tenant_id: string;
8949
+ trade_item_floriday_id?: string | null;
8950
+ units_per_package?: number | null;
8951
+ updated_at?: string;
8952
+ };
8953
+ Update: {
8954
+ created_at?: string;
8955
+ id?: string;
8956
+ is_package?: boolean;
8957
+ label?: string | null;
8958
+ layers_per_load_carrier?: number | null;
8959
+ load_carrier?: string | null;
8960
+ package_id?: string | null;
8961
+ package_label?: string | null;
8962
+ packages_per_layer?: number | null;
8963
+ packing_configuration_id?: string;
8964
+ product_id?: string | null;
8965
+ tenant_id?: string;
8966
+ trade_item_floriday_id?: string | null;
8967
+ units_per_package?: number | null;
8968
+ updated_at?: string;
8969
+ };
8970
+ Relationships: [{
8971
+ foreignKeyName: "product_load_settings_package_id_fkey";
8972
+ columns: ["package_id"];
8973
+ isOneToOne: false;
8974
+ referencedRelation: "packages";
8975
+ referencedColumns: ["id"];
8976
+ }, {
8977
+ foreignKeyName: "product_load_settings_product_id_fkey";
8978
+ columns: ["product_id"];
8979
+ isOneToOne: false;
8980
+ referencedRelation: "products";
8981
+ referencedColumns: ["id"];
8982
+ }];
8983
+ };
8984
+ product_merge_log: {
8985
+ Row: {
8986
+ canonical_product_id: string | null;
8987
+ id: string;
8988
+ merged_at: string;
8989
+ merged_from_id: string;
8990
+ notes: string | null;
8991
+ snapshot: import("../integrations/supabase/types").Json;
8992
+ source_table: string;
8993
+ status: string;
8994
+ };
8995
+ Insert: {
8996
+ canonical_product_id?: string | null;
8997
+ id?: string;
8998
+ merged_at?: string;
8999
+ merged_from_id: string;
9000
+ notes?: string | null;
9001
+ snapshot?: import("../integrations/supabase/types").Json;
9002
+ source_table: string;
9003
+ status?: string;
9004
+ };
9005
+ Update: {
9006
+ canonical_product_id?: string | null;
9007
+ id?: string;
9008
+ merged_at?: string;
9009
+ merged_from_id?: string;
9010
+ notes?: string | null;
9011
+ snapshot?: import("../integrations/supabase/types").Json;
9012
+ source_table?: string;
9013
+ status?: string;
9014
+ };
8409
9015
  Relationships: [];
8410
9016
  };
8411
9017
  products: {
8412
9018
  Row: {
9019
+ article_number: string | null;
8413
9020
  barcode: string | null;
8414
9021
  batch: string;
8415
9022
  crates_per_layer: number;
8416
9023
  created_at: string;
8417
9024
  custom_fields: import("../integrations/supabase/types").Json;
9025
+ floriday_trade_item_id: string | null;
8418
9026
  id: string;
8419
9027
  image_url: string | null;
8420
9028
  incoming_quantity: number;
9029
+ is_layer: boolean;
8421
9030
  layers_per_cart: number;
8422
9031
  location: string;
8423
9032
  min_quantity: number;
@@ -8433,14 +9042,17 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8433
9042
  weight: string | null;
8434
9043
  };
8435
9044
  Insert: {
9045
+ article_number?: string | null;
8436
9046
  barcode?: string | null;
8437
9047
  batch: string;
8438
9048
  crates_per_layer?: number;
8439
9049
  created_at?: string;
8440
9050
  custom_fields?: import("../integrations/supabase/types").Json;
9051
+ floriday_trade_item_id?: string | null;
8441
9052
  id?: string;
8442
9053
  image_url?: string | null;
8443
9054
  incoming_quantity?: number;
9055
+ is_layer?: boolean;
8444
9056
  layers_per_cart?: number;
8445
9057
  location: string;
8446
9058
  min_quantity?: number;
@@ -8456,14 +9068,17 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8456
9068
  weight?: string | null;
8457
9069
  };
8458
9070
  Update: {
9071
+ article_number?: string | null;
8459
9072
  barcode?: string | null;
8460
9073
  batch?: string;
8461
9074
  crates_per_layer?: number;
8462
9075
  created_at?: string;
8463
9076
  custom_fields?: import("../integrations/supabase/types").Json;
9077
+ floriday_trade_item_id?: string | null;
8464
9078
  id?: string;
8465
9079
  image_url?: string | null;
8466
9080
  incoming_quantity?: number;
9081
+ is_layer?: boolean;
8467
9082
  layers_per_cart?: number;
8468
9083
  location?: string;
8469
9084
  min_quantity?: number;
@@ -8483,6 +9098,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8483
9098
  profiles: {
8484
9099
  Row: {
8485
9100
  address: string | null;
9101
+ avatar_url: string | null;
8486
9102
  created_at: string;
8487
9103
  display_name: string | null;
8488
9104
  email: string | null;
@@ -8494,6 +9110,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8494
9110
  };
8495
9111
  Insert: {
8496
9112
  address?: string | null;
9113
+ avatar_url?: string | null;
8497
9114
  created_at?: string;
8498
9115
  display_name?: string | null;
8499
9116
  email?: string | null;
@@ -8505,6 +9122,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
8505
9122
  };
8506
9123
  Update: {
8507
9124
  address?: string | null;
9125
+ avatar_url?: string | null;
8508
9126
  created_at?: string;
8509
9127
  display_name?: string | null;
8510
9128
  email?: string | null;
@@ -9371,6 +9989,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
9371
9989
  order_source: string | null;
9372
9990
  physical_after: number | null;
9373
9991
  physical_before: number | null;
9992
+ production_batch_id: string | null;
9374
9993
  qty_delta: number;
9375
9994
  reason: string | null;
9376
9995
  reserved_after: number | null;
@@ -9388,6 +10007,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
9388
10007
  order_source?: string | null;
9389
10008
  physical_after?: number | null;
9390
10009
  physical_before?: number | null;
10010
+ production_batch_id?: string | null;
9391
10011
  qty_delta: number;
9392
10012
  reason?: string | null;
9393
10013
  reserved_after?: number | null;
@@ -9405,6 +10025,7 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
9405
10025
  order_source?: string | null;
9406
10026
  physical_after?: number | null;
9407
10027
  physical_before?: number | null;
10028
+ production_batch_id?: string | null;
9408
10029
  qty_delta?: number;
9409
10030
  reason?: string | null;
9410
10031
  reserved_after?: number | null;
@@ -9731,6 +10352,48 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
9731
10352
  };
9732
10353
  Relationships: [];
9733
10354
  };
10355
+ trade_item_prices: {
10356
+ Row: {
10357
+ created_at: string;
10358
+ currency: string;
10359
+ id: string;
10360
+ last_push_error: string | null;
10361
+ last_pushed_at: string | null;
10362
+ price_group_id: string | null;
10363
+ price_per_piece: number;
10364
+ supply_line_id: string | null;
10365
+ trade_item_key: string;
10366
+ updated_at: string;
10367
+ user_id: string;
10368
+ };
10369
+ Insert: {
10370
+ created_at?: string;
10371
+ currency?: string;
10372
+ id?: string;
10373
+ last_push_error?: string | null;
10374
+ last_pushed_at?: string | null;
10375
+ price_group_id?: string | null;
10376
+ price_per_piece: number;
10377
+ supply_line_id?: string | null;
10378
+ trade_item_key: string;
10379
+ updated_at?: string;
10380
+ user_id: string;
10381
+ };
10382
+ Update: {
10383
+ created_at?: string;
10384
+ currency?: string;
10385
+ id?: string;
10386
+ last_push_error?: string | null;
10387
+ last_pushed_at?: string | null;
10388
+ price_group_id?: string | null;
10389
+ price_per_piece?: number;
10390
+ supply_line_id?: string | null;
10391
+ trade_item_key?: string;
10392
+ updated_at?: string;
10393
+ user_id?: string;
10394
+ };
10395
+ Relationships: [];
10396
+ };
9734
10397
  trade_item_stock: {
9735
10398
  Row: {
9736
10399
  connection_id: string;
@@ -10196,6 +10859,51 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
10196
10859
  referencedColumns: ["id"];
10197
10860
  }];
10198
10861
  };
10862
+ twinfield_invoice_pdf_cache: {
10863
+ Row: {
10864
+ connection_id: string;
10865
+ created_at: string;
10866
+ fetched_at: string;
10867
+ id: string;
10868
+ invoice_number: string;
10869
+ last_accessed_at: string;
10870
+ object_path: string;
10871
+ office_code: string;
10872
+ size_bytes: number;
10873
+ updated_at: string;
10874
+ };
10875
+ Insert: {
10876
+ connection_id: string;
10877
+ created_at?: string;
10878
+ fetched_at?: string;
10879
+ id?: string;
10880
+ invoice_number: string;
10881
+ last_accessed_at?: string;
10882
+ object_path: string;
10883
+ office_code: string;
10884
+ size_bytes?: number;
10885
+ updated_at?: string;
10886
+ };
10887
+ Update: {
10888
+ connection_id?: string;
10889
+ created_at?: string;
10890
+ fetched_at?: string;
10891
+ id?: string;
10892
+ invoice_number?: string;
10893
+ last_accessed_at?: string;
10894
+ object_path?: string;
10895
+ office_code?: string;
10896
+ size_bytes?: number;
10897
+ updated_at?: string;
10898
+ };
10899
+ Relationships: [{
10900
+ foreignKeyName: "twinfield_invoice_pdf_cache_connection_id_fkey";
10901
+ columns: ["connection_id"];
10902
+ isOneToOne: false;
10903
+ referencedRelation: "twinfield_connections";
10904
+ referencedColumns: ["id"];
10905
+ }];
10906
+ };
10199
10907
  twinfield_invoice_settings: {
10200
10908
  Row: {
10201
10909
  created_at: string;
@@ -10799,6 +11507,78 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
10799
11507
  };
10800
11508
  Relationships: [];
10801
11509
  };
11510
+ werkbon_package_ai_rules: {
11511
+ Row: {
11512
+ active: boolean;
11513
+ case_sensitive: boolean;
11514
+ created_at: string;
11515
+ id: string;
11516
+ package_id: string;
11517
+ priority: number;
11518
+ rule_type: string;
11519
+ updated_at: string;
11520
+ value: string;
11521
+ };
11522
+ Insert: {
11523
+ active?: boolean;
11524
+ case_sensitive?: boolean;
11525
+ created_at?: string;
11526
+ id?: string;
11527
+ package_id: string;
11528
+ priority?: number;
11529
+ rule_type: string;
11530
+ updated_at?: string;
11531
+ value: string;
11532
+ };
11533
+ Update: {
11534
+ active?: boolean;
11535
+ case_sensitive?: boolean;
11536
+ created_at?: string;
11537
+ id?: string;
11538
+ package_id?: string;
11539
+ priority?: number;
11540
+ rule_type?: string;
11541
+ updated_at?: string;
11542
+ value?: string;
11543
+ };
11544
+ Relationships: [{
11545
+ foreignKeyName: "werkbon_package_ai_rules_package_id_fkey";
11546
+ columns: ["package_id"];
11547
+ isOneToOne: false;
11548
+ referencedRelation: "werkbon_packages";
11549
+ referencedColumns: ["id"];
11550
+ }];
11551
+ };
11552
+ werkbon_package_categories: {
11553
+ Row: {
11554
+ active: boolean;
11555
+ created_at: string;
11556
+ id: string;
11557
+ kleur: string | null;
11558
+ naam: string;
11559
+ sort_order: number;
11560
+ updated_at: string;
11561
+ };
11562
+ Insert: {
11563
+ active?: boolean;
11564
+ created_at?: string;
11565
+ id?: string;
11566
+ kleur?: string | null;
11567
+ naam: string;
11568
+ sort_order?: number;
11569
+ updated_at?: string;
11570
+ };
11571
+ Update: {
11572
+ active?: boolean;
11573
+ created_at?: string;
11574
+ id?: string;
11575
+ kleur?: string | null;
11576
+ naam?: string;
11577
+ sort_order?: number;
11578
+ updated_at?: string;
11579
+ };
11580
+ Relationships: [];
11581
+ };
10802
11582
  werkbon_package_lines: {
10803
11583
  Row: {
10804
11584
  created_at: string;
@@ -10844,38 +11624,59 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
10844
11624
  werkbon_packages: {
10845
11625
  Row: {
10846
11626
  active: boolean;
11627
+ ai_tags: string[];
11628
+ category_id: string | null;
10847
11629
  code: string;
10848
11630
  created_at: string;
10849
11631
  default_quantity: number;
10850
11632
  description: string | null;
11633
+ duration_minutes: number | null;
10851
11634
  id: string;
11635
+ mandaat_type: string | null;
10852
11636
  name: string;
11637
+ sort_order: number;
10853
11638
  unit_price_cents: number;
10854
11639
  updated_at: string;
10855
11640
  };
10856
11641
  Insert: {
10857
11642
  active?: boolean;
11643
+ ai_tags?: string[];
11644
+ category_id?: string | null;
10858
11645
  code: string;
10859
11646
  created_at?: string;
10860
11647
  default_quantity?: number;
10861
11648
  description?: string | null;
11649
+ duration_minutes?: number | null;
10862
11650
  id?: string;
11651
+ mandaat_type?: string | null;
10863
11652
  name: string;
11653
+ sort_order?: number;
10864
11654
  unit_price_cents?: number;
10865
11655
  updated_at?: string;
10866
11656
  };
10867
11657
  Update: {
10868
11658
  active?: boolean;
11659
+ ai_tags?: string[];
11660
+ category_id?: string | null;
10869
11661
  code?: string;
10870
11662
  created_at?: string;
10871
11663
  default_quantity?: number;
10872
11664
  description?: string | null;
11665
+ duration_minutes?: number | null;
10873
11666
  id?: string;
11667
+ mandaat_type?: string | null;
10874
11668
  name?: string;
11669
+ sort_order?: number;
10875
11670
  unit_price_cents?: number;
10876
11671
  updated_at?: string;
10877
11672
  };
10878
- Relationships: [];
11673
+ Relationships: [{
11674
+ foreignKeyName: "werkbon_packages_category_id_fkey";
11675
+ columns: ["category_id"];
11676
+ isOneToOne: false;
11677
+ referencedRelation: "werkbon_package_categories";
11678
+ referencedColumns: ["id"];
11679
+ }];
10879
11680
  };
10880
11681
  werkbon_photos: {
10881
11682
  Row: {
@@ -10963,7 +11764,10 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
10963
11764
  scheduled_end_time: string | null;
10964
11765
  scheduled_start_time: string | null;
10965
11766
  sequence_number: number;
11767
+ source_email_meta: import("../integrations/supabase/types").Json | null;
11768
+ source_mailbox_message_id: string | null;
10966
11769
  source_pdf_path: string | null;
11770
+ source_type: string;
10967
11771
  status: string;
10968
11772
  technician_id: string | null;
10969
11773
  technician_notes: string | null;
@@ -10992,7 +11796,10 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
10992
11796
  scheduled_end_time?: string | null;
10993
11797
  scheduled_start_time?: string | null;
10994
11798
  sequence_number: number;
11799
+ source_email_meta?: import("../integrations/supabase/types").Json | null;
11800
+ source_mailbox_message_id?: string | null;
10995
11801
  source_pdf_path?: string | null;
11802
+ source_type?: string;
10996
11803
  status?: string;
10997
11804
  technician_id?: string | null;
10998
11805
  technician_notes?: string | null;
@@ -11021,7 +11828,10 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11021
11828
  scheduled_end_time?: string | null;
11022
11829
  scheduled_start_time?: string | null;
11023
11830
  sequence_number?: number;
11831
+ source_email_meta?: import("../integrations/supabase/types").Json | null;
11832
+ source_mailbox_message_id?: string | null;
11024
11833
  source_pdf_path?: string | null;
11834
+ source_type?: string;
11025
11835
  status?: string;
11026
11836
  technician_id?: string | null;
11027
11837
  technician_notes?: string | null;
@@ -11038,10 +11848,10 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11038
11848
  referencedRelation: "werkbonnen";
11039
11849
  referencedColumns: ["id"];
11040
11850
  }, {
11041
- foreignKeyName: "werkbonnen_technician_id_fkey";
11042
- columns: ["technician_id"];
11851
+ foreignKeyName: "werkbonnen_source_mailbox_message_id_fkey";
11852
+ columns: ["source_mailbox_message_id"];
11043
11853
  isOneToOne: false;
11044
- referencedRelation: "monteurs";
11854
+ referencedRelation: "mailbox_messages";
11045
11855
  referencedColumns: ["id"];
11046
11856
  }];
11047
11857
  };
@@ -11735,6 +12545,13 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11735
12545
  };
11736
12546
  Returns: number;
11737
12547
  };
12548
+ _migrate_rewrite_stock_key: {
12549
+ Args: {
12550
+ _from_key: string;
12551
+ _to_key: string;
12552
+ };
12553
+ Returns: undefined;
12554
+ };
11738
12555
  afh_city_code: {
11739
12556
  Args: {
11740
12557
  _city: string;
@@ -11761,6 +12578,21 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11761
12578
  };
11762
12579
  Returns: string;
11763
12580
  };
12581
+ ai_usage_by_module: {
12582
+ Args: {
12583
+ _from: string;
12584
+ _to: string;
12585
+ };
12586
+ Returns: {
12587
+ calls: number;
12588
+ consumer_module_id: string;
12589
+ cost_usd: number;
12590
+ errors: number;
12591
+ input_tokens: number;
12592
+ output_tokens: number;
12593
+ total_tokens: number;
12594
+ }[];
12595
+ };
11764
12596
  apply_stock_consumption: {
11765
12597
  Args: {
11766
12598
  p_order_id: string;
@@ -11818,6 +12650,12 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11818
12650
  processed_items: number;
11819
12651
  }[];
11820
12652
  };
12653
+ calculate_layer_stock: {
12654
+ Args: {
12655
+ p_product_id: string;
12656
+ };
12657
+ Returns: number;
12658
+ };
11821
12659
  call_exact_route: {
11822
12660
  Args: {
11823
12661
  path: string;
@@ -11877,6 +12715,28 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11877
12715
  Args: never;
11878
12716
  Returns: undefined;
11879
12717
  };
12718
+ consume_bom_for_production: {
12719
+ Args: {
12720
+ p_connection_id: string;
12721
+ p_parent_id: string;
12722
+ p_parent_key: string;
12723
+ p_parent_kind: string;
12724
+ p_quantity: number;
12725
+ p_user_id: string;
12726
+ };
12727
+ Returns: import("../integrations/supabase/types").Json;
12728
+ } | {
12729
+ Args: {
12730
+ p_batch_id?: string;
12731
+ p_connection_id: string;
12732
+ p_parent_id: string;
12733
+ p_parent_key: string;
12734
+ p_parent_kind: string;
12735
+ p_quantity: number;
12736
+ p_user_id: string;
12737
+ };
12738
+ Returns: import("../integrations/supabase/types").Json;
12739
+ };
11880
12740
  consume_floriday_rate_limit: {
11881
12741
  Args: {
11882
12742
  p_bucket: string;
@@ -11909,6 +12769,12 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11909
12769
  Args: never;
11910
12770
  Returns: string;
11911
12771
  };
12772
+ custom_access_token_hook: {
12773
+ Args: {
12774
+ event: import("../integrations/supabase/types").Json;
12775
+ };
12776
+ Returns: import("../integrations/supabase/types").Json;
12777
+ };
11912
12778
  dashboard_alert_counts: {
11913
12779
  Args: never;
11914
12780
  Returns: import("../integrations/supabase/types").Json;
@@ -11928,6 +12794,13 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
11928
12794
  table_name: string;
11929
12795
  }[];
11930
12796
  };
12797
+ delete_samenstelling: {
12798
+ Args: {
12799
+ p_parent_id: string;
12800
+ p_parent_kind: string;
12801
+ };
12802
+ Returns: import("../integrations/supabase/types").Json;
12803
+ };
11931
12804
  dispatch_carrier_signups_sql: {
11932
12805
  Args: {
11933
12806
  _catchup?: string;
@@ -12183,6 +13056,27 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12183
13056
  minutes_since_success: number;
12184
13057
  }[];
12185
13058
  };
13059
+ get_group_allocation_keys: {
13060
+ Args: {
13061
+ p_product_id: string;
13062
+ };
13063
+ Returns: {
13064
+ k: string;
13065
+ ord: number;
13066
+ }[];
13067
+ };
13068
+ get_group_head_key: {
13069
+ Args: {
13070
+ p_group_id: string;
13071
+ };
13072
+ Returns: string;
13073
+ };
13074
+ get_inventory_stock_for_key: {
13075
+ Args: {
13076
+ p_key: string;
13077
+ };
13078
+ Returns: number;
13079
+ };
12186
13080
  get_offer_by_link_code: {
12187
13081
  Args: {
12188
13082
  p_code: string;
@@ -12213,6 +13107,12 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12213
13107
  };
12214
13108
  Returns: string;
12215
13109
  };
13110
+ get_product_group_available_stock: {
13111
+ Args: {
13112
+ p_group_id: string;
13113
+ };
13114
+ Returns: number;
13115
+ };
12216
13116
  get_room_busy_windows: {
12217
13117
  Args: {
12218
13118
  p_from: string;
@@ -12277,12 +13177,35 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12277
13177
  };
12278
13178
  Returns: boolean;
12279
13179
  };
13180
+ jwt_has_role: {
13181
+ Args: {
13182
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
13183
+ };
13184
+ Returns: boolean;
13185
+ };
12280
13186
  list_monteurs: {
12281
13187
  Args: never;
12282
13188
  Returns: {
13189
+ avatar_url: string;
12283
13190
  display_name: string;
12284
13191
  email: string;
12285
- user_id: string;
13192
+ id: string;
13193
+ }[];
13194
+ };
13195
+ list_my_planning_items: {
13196
+ Args: {
13197
+ _from: string;
13198
+ _to: string;
13199
+ };
13200
+ Returns: {
13201
+ assigned_monteur_id: string;
13202
+ end_at: string;
13203
+ id: string;
13204
+ notes: string;
13205
+ role: string;
13206
+ start_at: string;
13207
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
13208
+ werkbon_id: string;
12286
13209
  }[];
12287
13210
  };
12288
13211
  local_effective_price: {
@@ -12301,6 +13224,22 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12301
13224
  source_id: string;
12302
13225
  }[];
12303
13226
  };
13227
+ log_ai_call: {
13228
+ Args: {
13229
+ _consumer_module_id: string;
13230
+ _cost_usd: number;
13231
+ _duration_ms: number;
13232
+ _error_code: string;
13233
+ _error_message: string;
13234
+ _input_tokens: number;
13235
+ _model_slug: string;
13236
+ _output_tokens: number;
13237
+ _provider_slug: string;
13238
+ _status: string;
13239
+ _total_tokens: number;
13240
+ };
13241
+ Returns: string;
13242
+ };
12304
13243
  mark_offer_clicked: {
12305
13244
  Args: {
12306
13245
  p_code: string;
@@ -12313,12 +13252,32 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12313
13252
  };
12314
13253
  Returns: undefined;
12315
13254
  };
13255
+ mark_salesorder_controlled: {
13256
+ Args: {
13257
+ p_controlled: boolean;
13258
+ p_floriday_id: string;
13259
+ };
13260
+ Returns: undefined;
13261
+ };
12316
13262
  mark_shipment_shipped: {
12317
13263
  Args: {
12318
13264
  p_shipment_id: string;
12319
13265
  };
12320
13266
  Returns: undefined;
12321
13267
  };
13268
+ merge_products: {
13269
+ Args: {
13270
+ _canonical: string;
13271
+ _loser: string;
13272
+ };
13273
+ Returns: undefined;
13274
+ };
13275
+ next_manufacture_partij: {
13276
+ Args: {
13277
+ _tenant_id: string;
13278
+ };
13279
+ Returns: string;
13280
+ };
12322
13281
  next_order_number: {
12323
13282
  Args: {
12324
13283
  p_prefix: string;
@@ -12392,6 +13351,15 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12392
13351
  };
12393
13352
  Returns: undefined;
12394
13353
  };
13354
+ pickstation_resolve_delivery_orders: {
13355
+ Args: {
13356
+ p_sales_order_ids: string[];
13357
+ };
13358
+ Returns: {
13359
+ delivery_order_id: string;
13360
+ sales_order_id: string;
13361
+ }[];
13362
+ };
12395
13363
  pickstation_set_cart_status: {
12396
13364
  Args: {
12397
13365
  p_cart_index: number;
@@ -12401,6 +13369,14 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12401
13369
  };
12402
13370
  Returns: undefined;
12403
13371
  };
13372
+ produce_designed_product: {
13373
+ Args: {
13374
+ p_parent_id: string;
13375
+ p_parent_kind: string;
13376
+ p_quantity: number;
13377
+ };
13378
+ Returns: import("../integrations/supabase/types").Json;
13379
+ };
12404
13380
  promote_trade_item_key: {
12405
13381
  Args: {
12406
13382
  p_new: string;
@@ -12408,6 +13384,10 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12408
13384
  };
12409
13385
  Returns: undefined;
12410
13386
  };
13387
+ recompute_all_reserved_stock: {
13388
+ Args: never;
13389
+ Returns: undefined;
13390
+ };
12411
13391
  recompute_order_status: {
12412
13392
  Args: {
12413
13393
  p_order_id: string;
@@ -12463,18 +13443,50 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12463
13443
  };
12464
13444
  Returns: undefined;
12465
13445
  };
13446
+ resolve_group_allocation: {
13447
+ Args: {
13448
+ _needed: number;
13449
+ _product_group_id: string;
13450
+ };
13451
+ Returns: {
13452
+ allocated: number;
13453
+ trade_item_id: string;
13454
+ }[];
13455
+ };
13456
+ resolve_group_member_stock_key: {
13457
+ Args: {
13458
+ p_trade_item_id: string;
13459
+ };
13460
+ Returns: string;
13461
+ };
12466
13462
  resolve_product_id_for_item: {
12467
13463
  Args: {
12468
13464
  p_product_name: string;
12469
13465
  };
12470
13466
  Returns: string;
12471
13467
  };
13468
+ resolve_stock_trade_item_key: {
13469
+ Args: {
13470
+ p_product_id: string;
13471
+ };
13472
+ Returns: string;
13473
+ };
12472
13474
  retry_twinfield_push: {
12473
13475
  Args: {
12474
13476
  _customer_id: string;
12475
13477
  };
12476
13478
  Returns: number;
12477
13479
  };
13480
+ reverse_production: {
13481
+ Args: {
13482
+ p_connection_id?: string;
13483
+ p_parent_key: string;
13484
+ p_quantity: number;
13485
+ p_reason?: string;
13486
+ p_user_id?: string;
13487
+ };
13488
+ Returns: import("../integrations/supabase/types").Json;
13489
+ };
12478
13490
  schedule_floriday_additional_services_sync: {
12479
13491
  Args: {
12480
13492
  p_apikey: string;
@@ -12742,6 +13754,17 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12742
13754
  };
12743
13755
  Returns: number;
12744
13756
  };
13757
+ self_heal_floriday_links: {
13758
+ Args: never;
13759
+ Returns: number;
13760
+ };
13761
+ set_planning_status: {
13762
+ Args: {
13763
+ _id: string;
13764
+ _status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
13765
+ };
13766
+ Returns: undefined;
13767
+ };
12745
13768
  show_limit: {
12746
13769
  Args: never;
12747
13770
  Returns: number;
@@ -12752,18 +13775,34 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12752
13775
  };
12753
13776
  Returns: string[];
12754
13777
  };
13778
+ sync_all_layer_stocks: {
13779
+ Args: never;
13780
+ Returns: undefined;
13781
+ };
12755
13782
  sync_cached_packing_from_product: {
12756
13783
  Args: {
12757
13784
  p_product_id: string;
12758
13785
  };
12759
13786
  Returns: undefined;
12760
13787
  };
13788
+ sync_layer_stock: {
13789
+ Args: {
13790
+ p_product_id: string;
13791
+ };
13792
+ Returns: undefined;
13793
+ };
12761
13794
  sync_order_cart_item_packing_from_product: {
12762
13795
  Args: {
12763
13796
  p_product_id: string;
12764
13797
  };
12765
13798
  Returns: undefined;
12766
13799
  };
13800
+ sync_product_group_belading: {
13801
+ Args: {
13802
+ _group_id: string;
13803
+ };
13804
+ Returns: undefined;
13805
+ };
12767
13806
  sync_product_packing_from_floriday_cache: {
12768
13807
  Args: {
12769
13808
  p_floriday_id: string;
@@ -12795,11 +13834,12 @@ export declare const replanOrderCarts: import("@tanstack/start-client-core").Opt
12795
13834
  };
12796
13835
  };
12797
13836
  Enums: {
12798
- app_role: "admin" | "planner" | "monteur" | "administratie";
13837
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
12799
13838
  exact_env: "staging" | "live";
12800
13839
  exact_push_status: "pending" | "sent" | "error";
12801
13840
  itk_customer_segment: "Business" | "Private";
12802
13841
  itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
13842
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd" | "concept" | "vrijgegeven";
12803
13843
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
12804
13844
  };
12805
13845
  CompositeTypes: { [_ in never]: never; };
@@ -13108,6 +14148,57 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
13108
14148
  referencedColumns: ["id"];
13109
14149
  }];
13110
14150
  };
14151
+ ai_call_log: {
14152
+ Row: {
14153
+ consumer_module_id: string;
14154
+ cost_usd: number | null;
14155
+ created_at: string;
14156
+ created_by: string | null;
14157
+ duration_ms: number | null;
14158
+ error_code: string | null;
14159
+ error_message: string | null;
14160
+ id: string;
14161
+ input_tokens: number;
14162
+ model_slug: string | null;
14163
+ output_tokens: number;
14164
+ provider_slug: string | null;
14165
+ status: string;
14166
+ total_tokens: number;
14167
+ };
14168
+ Insert: {
14169
+ consumer_module_id: string;
14170
+ cost_usd?: number | null;
14171
+ created_at?: string;
14172
+ created_by?: string | null;
14173
+ duration_ms?: number | null;
14174
+ error_code?: string | null;
14175
+ error_message?: string | null;
14176
+ id?: string;
14177
+ input_tokens?: number;
14178
+ model_slug?: string | null;
14179
+ output_tokens?: number;
14180
+ provider_slug?: string | null;
14181
+ status: string;
14182
+ total_tokens?: number;
14183
+ };
14184
+ Update: {
14185
+ consumer_module_id?: string;
14186
+ cost_usd?: number | null;
14187
+ created_at?: string;
14188
+ created_by?: string | null;
14189
+ duration_ms?: number | null;
14190
+ error_code?: string | null;
14191
+ error_message?: string | null;
14192
+ id?: string;
14193
+ input_tokens?: number;
14194
+ model_slug?: string | null;
14195
+ output_tokens?: number;
14196
+ provider_slug?: string | null;
14197
+ status?: string;
14198
+ total_tokens?: number;
14199
+ };
14200
+ Relationships: [];
14201
+ };
13111
14202
  ai_credentials: {
13112
14203
  Row: {
13113
14204
  active: boolean;
@@ -13144,6 +14235,36 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
13144
14235
  referencedColumns: ["id"];
13145
14236
  }];
13146
14237
  };
14238
+ ai_goals: {
14239
+ Row: {
14240
+ active: boolean;
14241
+ created_at: string;
14242
+ description: string | null;
14243
+ key: string;
14244
+ label: string;
14245
+ sort_order: number;
14246
+ updated_at: string;
14247
+ };
14248
+ Insert: {
14249
+ active?: boolean;
14250
+ created_at?: string;
14251
+ description?: string | null;
14252
+ key: string;
14253
+ label: string;
14254
+ sort_order?: number;
14255
+ updated_at?: string;
14256
+ };
14257
+ Update: {
14258
+ active?: boolean;
14259
+ created_at?: string;
14260
+ description?: string | null;
14261
+ key?: string;
14262
+ label?: string;
14263
+ sort_order?: number;
14264
+ updated_at?: string;
14265
+ };
14266
+ Relationships: [];
14267
+ };
13147
14268
  ai_model_pricing: {
13148
14269
  Row: {
13149
14270
  created_at: string;
@@ -19288,6 +20409,285 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
19288
20409
  };
19289
20410
  Relationships: [];
19290
20411
  };
20412
+ logistics_capacity_events: {
20413
+ Row: {
20414
+ available_carts: number;
20415
+ created_at: string;
20416
+ id: string;
20417
+ measures: import("../integrations/supabase/types").Json;
20418
+ note: string | null;
20419
+ outcome: string;
20420
+ required_carts: number;
20421
+ reserve_minutes: number;
20422
+ shortage_carts: number;
20423
+ status: string;
20424
+ user_id: string;
20425
+ };
20426
+ Insert: {
20427
+ available_carts?: number;
20428
+ created_at?: string;
20429
+ id?: string;
20430
+ measures?: import("../integrations/supabase/types").Json;
20431
+ note?: string | null;
20432
+ outcome?: string;
20433
+ required_carts?: number;
20434
+ reserve_minutes?: number;
20435
+ shortage_carts?: number;
20436
+ status: string;
20437
+ user_id: string;
20438
+ };
20439
+ Update: {
20440
+ available_carts?: number;
20441
+ created_at?: string;
20442
+ id?: string;
20443
+ measures?: import("../integrations/supabase/types").Json;
20444
+ note?: string | null;
20445
+ outcome?: string;
20446
+ required_carts?: number;
20447
+ reserve_minutes?: number;
20448
+ shortage_carts?: number;
20449
+ status?: string;
20450
+ user_id?: string;
20451
+ };
20452
+ Relationships: [];
20453
+ };
20454
+ logistics_capacity_settings: {
20455
+ Row: {
20456
+ created_at: string;
20457
+ settings: import("../integrations/supabase/types").Json;
20458
+ updated_at: string;
20459
+ user_id: string;
20460
+ };
20461
+ Insert: {
20462
+ created_at?: string;
20463
+ settings?: import("../integrations/supabase/types").Json;
20464
+ updated_at?: string;
20465
+ user_id: string;
20466
+ };
20467
+ Update: {
20468
+ created_at?: string;
20469
+ settings?: import("../integrations/supabase/types").Json;
20470
+ updated_at?: string;
20471
+ user_id?: string;
20472
+ };
20473
+ Relationships: [];
20474
+ };
20475
+ logistics_decisions: {
20476
+ Row: {
20477
+ created_at: string;
20478
+ explanation: string | null;
20479
+ id: string;
20480
+ input_snapshot: import("../integrations/supabase/types").Json;
20481
+ result: import("../integrations/supabase/types").Json;
20482
+ slot: string;
20483
+ strategy_id: string | null;
20484
+ subject_id: string;
20485
+ subject_type: string;
20486
+ user_id: string;
20487
+ };
20488
+ Insert: {
20489
+ created_at?: string;
20490
+ explanation?: string | null;
20491
+ id?: string;
20492
+ input_snapshot?: import("../integrations/supabase/types").Json;
20493
+ result?: import("../integrations/supabase/types").Json;
20494
+ slot: string;
20495
+ strategy_id?: string | null;
20496
+ subject_id: string;
20497
+ subject_type: string;
20498
+ user_id: string;
20499
+ };
20500
+ Update: {
20501
+ created_at?: string;
20502
+ explanation?: string | null;
20503
+ id?: string;
20504
+ input_snapshot?: import("../integrations/supabase/types").Json;
20505
+ result?: import("../integrations/supabase/types").Json;
20506
+ slot?: string;
20507
+ strategy_id?: string | null;
20508
+ subject_id?: string;
20509
+ subject_type?: string;
20510
+ user_id?: string;
20511
+ };
20512
+ Relationships: [{
20513
+ foreignKeyName: "logistics_decisions_strategy_id_fkey";
20514
+ columns: ["strategy_id"];
20515
+ isOneToOne: false;
20516
+ referencedRelation: "logistics_strategies";
20517
+ referencedColumns: ["id"];
20518
+ }];
20519
+ };
20520
+ logistics_formulas: {
20521
+ Row: {
20522
+ created_at: string;
20523
+ expression: string;
20524
+ id: string;
20525
+ notes: string | null;
20526
+ slot: string;
20527
+ strategy_id: string;
20528
+ updated_at: string;
20529
+ user_id: string;
20530
+ version: number;
20531
+ };
20532
+ Insert: {
20533
+ created_at?: string;
20534
+ expression?: string;
20535
+ id?: string;
20536
+ notes?: string | null;
20537
+ slot: string;
20538
+ strategy_id: string;
20539
+ updated_at?: string;
20540
+ user_id: string;
20541
+ version?: number;
20542
+ };
20543
+ Update: {
20544
+ created_at?: string;
20545
+ expression?: string;
20546
+ id?: string;
20547
+ notes?: string | null;
20548
+ slot?: string;
20549
+ strategy_id?: string;
20550
+ updated_at?: string;
20551
+ user_id?: string;
20552
+ version?: number;
20553
+ };
20554
+ Relationships: [{
20555
+ foreignKeyName: "logistics_formulas_strategy_id_fkey";
20556
+ columns: ["strategy_id"];
20557
+ isOneToOne: false;
20558
+ referencedRelation: "logistics_strategies";
20559
+ referencedColumns: ["id"];
20560
+ }];
20561
+ };
20562
+ logistics_strategies: {
20563
+ Row: {
20564
+ color: string;
20565
+ created_at: string;
20566
+ description: string | null;
20567
+ id: string;
20568
+ is_active: boolean;
20569
+ name: string;
20570
+ priority: number;
20571
+ updated_at: string;
20572
+ updated_by: string | null;
20573
+ user_id: string;
20574
+ version: number;
20575
+ };
20576
+ Insert: {
20577
+ color?: string;
20578
+ created_at?: string;
20579
+ description?: string | null;
20580
+ id?: string;
20581
+ is_active?: boolean;
20582
+ name: string;
20583
+ priority?: number;
20584
+ updated_at?: string;
20585
+ updated_by?: string | null;
20586
+ user_id: string;
20587
+ version?: number;
20588
+ };
20589
+ Update: {
20590
+ color?: string;
20591
+ created_at?: string;
20592
+ description?: string | null;
20593
+ id?: string;
20594
+ is_active?: boolean;
20595
+ name?: string;
20596
+ priority?: number;
20597
+ updated_at?: string;
20598
+ updated_by?: string | null;
20599
+ user_id?: string;
20600
+ version?: number;
20601
+ };
20602
+ Relationships: [];
20603
+ };
20604
+ logistics_strategy_schedules: {
20605
+ Row: {
20606
+ condition_expression: string | null;
20607
+ created_at: string;
20608
+ end_date: string | null;
20609
+ id: string;
20610
+ is_enabled: boolean;
20611
+ priority: number;
20612
+ rule_type: string;
20613
+ start_date: string | null;
20614
+ strategy_id: string;
20615
+ updated_at: string;
20616
+ user_id: string;
20617
+ };
20618
+ Insert: {
20619
+ condition_expression?: string | null;
20620
+ created_at?: string;
20621
+ end_date?: string | null;
20622
+ id?: string;
20623
+ is_enabled?: boolean;
20624
+ priority?: number;
20625
+ rule_type: string;
20626
+ start_date?: string | null;
20627
+ strategy_id: string;
20628
+ updated_at?: string;
20629
+ user_id: string;
20630
+ };
20631
+ Update: {
20632
+ condition_expression?: string | null;
20633
+ created_at?: string;
20634
+ end_date?: string | null;
20635
+ id?: string;
20636
+ is_enabled?: boolean;
20637
+ priority?: number;
20638
+ rule_type?: string;
20639
+ start_date?: string | null;
20640
+ strategy_id?: string;
20641
+ updated_at?: string;
20642
+ user_id?: string;
20643
+ };
20644
+ Relationships: [{
20645
+ foreignKeyName: "logistics_strategy_schedules_strategy_id_fkey";
20646
+ columns: ["strategy_id"];
20647
+ isOneToOne: false;
20648
+ referencedRelation: "logistics_strategies";
20649
+ referencedColumns: ["id"];
20650
+ }];
20651
+ };
20652
+ logistics_variables: {
20653
+ Row: {
20654
+ created_at: string;
20655
+ default_value: string | null;
20656
+ description: string | null;
20657
+ id: string;
20658
+ is_builtin: boolean;
20659
+ key: string;
20660
+ label: string;
20661
+ updated_at: string;
20662
+ user_id: string;
20663
+ value_type: string;
20664
+ };
20665
+ Insert: {
20666
+ created_at?: string;
20667
+ default_value?: string | null;
20668
+ description?: string | null;
20669
+ id?: string;
20670
+ is_builtin?: boolean;
20671
+ key: string;
20672
+ label: string;
20673
+ updated_at?: string;
20674
+ user_id: string;
20675
+ value_type: string;
20676
+ };
20677
+ Update: {
20678
+ created_at?: string;
20679
+ default_value?: string | null;
20680
+ description?: string | null;
20681
+ id?: string;
20682
+ is_builtin?: boolean;
20683
+ key?: string;
20684
+ label?: string;
20685
+ updated_at?: string;
20686
+ user_id?: string;
20687
+ value_type?: string;
20688
+ };
20689
+ Relationships: [];
20690
+ };
19291
20691
  mailbox_messages: {
19292
20692
  Row: {
19293
20693
  body_html: string | null;
@@ -21061,6 +22461,138 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21061
22461
  };
21062
22462
  Relationships: [];
21063
22463
  };
22464
+ planning_item_assistants: {
22465
+ Row: {
22466
+ created_at: string;
22467
+ created_by: string | null;
22468
+ monteur_id: string;
22469
+ planning_item_id: string;
22470
+ };
22471
+ Insert: {
22472
+ created_at?: string;
22473
+ created_by?: string | null;
22474
+ monteur_id: string;
22475
+ planning_item_id: string;
22476
+ };
22477
+ Update: {
22478
+ created_at?: string;
22479
+ created_by?: string | null;
22480
+ monteur_id?: string;
22481
+ planning_item_id?: string;
22482
+ };
22483
+ Relationships: [{
22484
+ foreignKeyName: "planning_item_assistants_planning_item_id_fkey";
22485
+ columns: ["planning_item_id"];
22486
+ isOneToOne: false;
22487
+ referencedRelation: "planning_items";
22488
+ referencedColumns: ["id"];
22489
+ }];
22490
+ };
22491
+ planning_items: {
22492
+ Row: {
22493
+ assigned_monteur_id: string;
22494
+ created_at: string;
22495
+ created_by: string | null;
22496
+ end_at: string;
22497
+ id: string;
22498
+ notes: string | null;
22499
+ start_at: string;
22500
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
22501
+ updated_at: string;
22502
+ werkbon_id: string;
22503
+ };
22504
+ Insert: {
22505
+ assigned_monteur_id: string;
22506
+ created_at?: string;
22507
+ created_by?: string | null;
22508
+ end_at: string;
22509
+ id?: string;
22510
+ notes?: string | null;
22511
+ start_at: string;
22512
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
22513
+ updated_at?: string;
22514
+ werkbon_id: string;
22515
+ };
22516
+ Update: {
22517
+ assigned_monteur_id?: string;
22518
+ created_at?: string;
22519
+ created_by?: string | null;
22520
+ end_at?: string;
22521
+ id?: string;
22522
+ notes?: string | null;
22523
+ start_at?: string;
22524
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
22525
+ updated_at?: string;
22526
+ werkbon_id?: string;
22527
+ };
22528
+ Relationships: [{
22529
+ foreignKeyName: "planning_items_werkbon_id_fkey";
22530
+ columns: ["werkbon_id"];
22531
+ isOneToOne: false;
22532
+ referencedRelation: "werkbonnen";
22533
+ referencedColumns: ["id"];
22534
+ }];
22535
+ };
22536
+ product_bom_items: {
22537
+ Row: {
22538
+ component_product_id: string | null;
22539
+ component_trade_item_floriday_id: string | null;
22540
+ created_at: string;
22541
+ id: string;
22542
+ notes: string | null;
22543
+ packing_configuration_id: string | null;
22544
+ parent_product_id: string | null;
22545
+ parent_trade_item_floriday_id: string | null;
22546
+ quantity: number;
22547
+ sort_order: number;
22548
+ tenant_id: string;
22549
+ unit: string;
22550
+ updated_at: string;
22551
+ };
22552
+ Insert: {
22553
+ component_product_id?: string | null;
22554
+ component_trade_item_floriday_id?: string | null;
22555
+ created_at?: string;
22556
+ id?: string;
22557
+ notes?: string | null;
22558
+ packing_configuration_id?: string | null;
22559
+ parent_product_id?: string | null;
22560
+ parent_trade_item_floriday_id?: string | null;
22561
+ quantity?: number;
22562
+ sort_order?: number;
22563
+ tenant_id: string;
22564
+ unit?: string;
22565
+ updated_at?: string;
22566
+ };
22567
+ Update: {
22568
+ component_product_id?: string | null;
22569
+ component_trade_item_floriday_id?: string | null;
22570
+ created_at?: string;
22571
+ id?: string;
22572
+ notes?: string | null;
22573
+ packing_configuration_id?: string | null;
22574
+ parent_product_id?: string | null;
22575
+ parent_trade_item_floriday_id?: string | null;
22576
+ quantity?: number;
22577
+ sort_order?: number;
22578
+ tenant_id?: string;
22579
+ unit?: string;
22580
+ updated_at?: string;
22581
+ };
22582
+ Relationships: [{
22583
+ foreignKeyName: "product_bom_items_component_product_id_fkey";
22584
+ columns: ["component_product_id"];
22585
+ isOneToOne: false;
22586
+ referencedRelation: "products";
22587
+ referencedColumns: ["id"];
22588
+ }, {
22589
+ foreignKeyName: "product_bom_items_parent_product_id_fkey";
22590
+ columns: ["parent_product_id"];
22591
+ isOneToOne: false;
22592
+ referencedRelation: "products";
22593
+ referencedColumns: ["id"];
22594
+ }];
22595
+ };
21064
22596
  product_categories: {
21065
22597
  Row: {
21066
22598
  color: string;
@@ -21166,6 +22698,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21166
22698
  id: string;
21167
22699
  product_group_id: string;
21168
22700
  quantity: number;
22701
+ sort_order: number;
21169
22702
  trade_item_id: string;
21170
22703
  };
21171
22704
  Insert: {
@@ -21173,6 +22706,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21173
22706
  id?: string;
21174
22707
  product_group_id: string;
21175
22708
  quantity?: number;
22709
+ sort_order?: number;
21176
22710
  trade_item_id: string;
21177
22711
  };
21178
22712
  Update: {
@@ -21180,6 +22714,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21180
22714
  id?: string;
21181
22715
  product_group_id?: string;
21182
22716
  quantity?: number;
22717
+ sort_order?: number;
21183
22718
  trade_item_id?: string;
21184
22719
  };
21185
22720
  Relationships: [{
@@ -21194,6 +22729,8 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21194
22729
  Row: {
21195
22730
  created_at: string;
21196
22731
  description: string | null;
22732
+ head_product_id: string | null;
22733
+ head_trade_item_floriday_id: string | null;
21197
22734
  id: string;
21198
22735
  is_active: boolean;
21199
22736
  name: string;
@@ -21203,6 +22740,8 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21203
22740
  Insert: {
21204
22741
  created_at?: string;
21205
22742
  description?: string | null;
22743
+ head_product_id?: string | null;
22744
+ head_trade_item_floriday_id?: string | null;
21206
22745
  id?: string;
21207
22746
  is_active?: boolean;
21208
22747
  name: string;
@@ -21212,24 +22751,134 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21212
22751
  Update: {
21213
22752
  created_at?: string;
21214
22753
  description?: string | null;
22754
+ head_product_id?: string | null;
22755
+ head_trade_item_floriday_id?: string | null;
21215
22756
  id?: string;
21216
22757
  is_active?: boolean;
21217
22758
  name?: string;
21218
22759
  tenant_id?: string;
21219
22760
  updated_at?: string;
21220
22761
  };
22762
+ Relationships: [{
22763
+ foreignKeyName: "product_groups_head_product_id_fkey";
22764
+ columns: ["head_product_id"];
22765
+ isOneToOne: false;
22766
+ referencedRelation: "products";
22767
+ referencedColumns: ["id"];
22768
+ }];
22769
+ };
22770
+ product_load_settings: {
22771
+ Row: {
22772
+ created_at: string;
22773
+ id: string;
22774
+ is_package: boolean;
22775
+ label: string | null;
22776
+ layers_per_load_carrier: number | null;
22777
+ load_carrier: string | null;
22778
+ package_id: string | null;
22779
+ package_label: string | null;
22780
+ packages_per_layer: number | null;
22781
+ packing_configuration_id: string;
22782
+ product_id: string | null;
22783
+ tenant_id: string;
22784
+ trade_item_floriday_id: string | null;
22785
+ units_per_package: number | null;
22786
+ updated_at: string;
22787
+ };
22788
+ Insert: {
22789
+ created_at?: string;
22790
+ id?: string;
22791
+ is_package?: boolean;
22792
+ label?: string | null;
22793
+ layers_per_load_carrier?: number | null;
22794
+ load_carrier?: string | null;
22795
+ package_id?: string | null;
22796
+ package_label?: string | null;
22797
+ packages_per_layer?: number | null;
22798
+ packing_configuration_id?: string;
22799
+ product_id?: string | null;
22800
+ tenant_id: string;
22801
+ trade_item_floriday_id?: string | null;
22802
+ units_per_package?: number | null;
22803
+ updated_at?: string;
22804
+ };
22805
+ Update: {
22806
+ created_at?: string;
22807
+ id?: string;
22808
+ is_package?: boolean;
22809
+ label?: string | null;
22810
+ layers_per_load_carrier?: number | null;
22811
+ load_carrier?: string | null;
22812
+ package_id?: string | null;
22813
+ package_label?: string | null;
22814
+ packages_per_layer?: number | null;
22815
+ packing_configuration_id?: string;
22816
+ product_id?: string | null;
22817
+ tenant_id?: string;
22818
+ trade_item_floriday_id?: string | null;
22819
+ units_per_package?: number | null;
22820
+ updated_at?: string;
22821
+ };
22822
+ Relationships: [{
22823
+ foreignKeyName: "product_load_settings_package_id_fkey";
22824
+ columns: ["package_id"];
22825
+ isOneToOne: false;
22826
+ referencedRelation: "packages";
22827
+ referencedColumns: ["id"];
22828
+ }, {
22829
+ foreignKeyName: "product_load_settings_product_id_fkey";
22830
+ columns: ["product_id"];
22831
+ isOneToOne: false;
22832
+ referencedRelation: "products";
22833
+ referencedColumns: ["id"];
22834
+ }];
22835
+ };
22836
+ product_merge_log: {
22837
+ Row: {
22838
+ canonical_product_id: string | null;
22839
+ id: string;
22840
+ merged_at: string;
22841
+ merged_from_id: string;
22842
+ notes: string | null;
22843
+ snapshot: import("../integrations/supabase/types").Json;
22844
+ source_table: string;
22845
+ status: string;
22846
+ };
22847
+ Insert: {
22848
+ canonical_product_id?: string | null;
22849
+ id?: string;
22850
+ merged_at?: string;
22851
+ merged_from_id: string;
22852
+ notes?: string | null;
22853
+ snapshot?: import("../integrations/supabase/types").Json;
22854
+ source_table: string;
22855
+ status?: string;
22856
+ };
22857
+ Update: {
22858
+ canonical_product_id?: string | null;
22859
+ id?: string;
22860
+ merged_at?: string;
22861
+ merged_from_id?: string;
22862
+ notes?: string | null;
22863
+ snapshot?: import("../integrations/supabase/types").Json;
22864
+ source_table?: string;
22865
+ status?: string;
22866
+ };
21221
22867
  Relationships: [];
21222
22868
  };
21223
22869
  products: {
21224
22870
  Row: {
22871
+ article_number: string | null;
21225
22872
  barcode: string | null;
21226
22873
  batch: string;
21227
22874
  crates_per_layer: number;
21228
22875
  created_at: string;
21229
22876
  custom_fields: import("../integrations/supabase/types").Json;
22877
+ floriday_trade_item_id: string | null;
21230
22878
  id: string;
21231
22879
  image_url: string | null;
21232
22880
  incoming_quantity: number;
22881
+ is_layer: boolean;
21233
22882
  layers_per_cart: number;
21234
22883
  location: string;
21235
22884
  min_quantity: number;
@@ -21245,14 +22894,17 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21245
22894
  weight: string | null;
21246
22895
  };
21247
22896
  Insert: {
22897
+ article_number?: string | null;
21248
22898
  barcode?: string | null;
21249
22899
  batch: string;
21250
22900
  crates_per_layer?: number;
21251
22901
  created_at?: string;
21252
22902
  custom_fields?: import("../integrations/supabase/types").Json;
22903
+ floriday_trade_item_id?: string | null;
21253
22904
  id?: string;
21254
22905
  image_url?: string | null;
21255
22906
  incoming_quantity?: number;
22907
+ is_layer?: boolean;
21256
22908
  layers_per_cart?: number;
21257
22909
  location: string;
21258
22910
  min_quantity?: number;
@@ -21268,14 +22920,17 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21268
22920
  weight?: string | null;
21269
22921
  };
21270
22922
  Update: {
22923
+ article_number?: string | null;
21271
22924
  barcode?: string | null;
21272
22925
  batch?: string;
21273
22926
  crates_per_layer?: number;
21274
22927
  created_at?: string;
21275
22928
  custom_fields?: import("../integrations/supabase/types").Json;
22929
+ floriday_trade_item_id?: string | null;
21276
22930
  id?: string;
21277
22931
  image_url?: string | null;
21278
22932
  incoming_quantity?: number;
22933
+ is_layer?: boolean;
21279
22934
  layers_per_cart?: number;
21280
22935
  location?: string;
21281
22936
  min_quantity?: number;
@@ -21295,6 +22950,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21295
22950
  profiles: {
21296
22951
  Row: {
21297
22952
  address: string | null;
22953
+ avatar_url: string | null;
21298
22954
  created_at: string;
21299
22955
  display_name: string | null;
21300
22956
  email: string | null;
@@ -21306,6 +22962,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21306
22962
  };
21307
22963
  Insert: {
21308
22964
  address?: string | null;
22965
+ avatar_url?: string | null;
21309
22966
  created_at?: string;
21310
22967
  display_name?: string | null;
21311
22968
  email?: string | null;
@@ -21317,6 +22974,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
21317
22974
  };
21318
22975
  Update: {
21319
22976
  address?: string | null;
22977
+ avatar_url?: string | null;
21320
22978
  created_at?: string;
21321
22979
  display_name?: string | null;
21322
22980
  email?: string | null;
@@ -22183,6 +23841,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
22183
23841
  order_source: string | null;
22184
23842
  physical_after: number | null;
22185
23843
  physical_before: number | null;
23844
+ production_batch_id: string | null;
22186
23845
  qty_delta: number;
22187
23846
  reason: string | null;
22188
23847
  reserved_after: number | null;
@@ -22200,6 +23859,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
22200
23859
  order_source?: string | null;
22201
23860
  physical_after?: number | null;
22202
23861
  physical_before?: number | null;
23862
+ production_batch_id?: string | null;
22203
23863
  qty_delta: number;
22204
23864
  reason?: string | null;
22205
23865
  reserved_after?: number | null;
@@ -22217,6 +23877,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
22217
23877
  order_source?: string | null;
22218
23878
  physical_after?: number | null;
22219
23879
  physical_before?: number | null;
23880
+ production_batch_id?: string | null;
22220
23881
  qty_delta?: number;
22221
23882
  reason?: string | null;
22222
23883
  reserved_after?: number | null;
@@ -22543,6 +24204,48 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
22543
24204
  };
22544
24205
  Relationships: [];
22545
24206
  };
24207
+ trade_item_prices: {
24208
+ Row: {
24209
+ created_at: string;
24210
+ currency: string;
24211
+ id: string;
24212
+ last_push_error: string | null;
24213
+ last_pushed_at: string | null;
24214
+ price_group_id: string | null;
24215
+ price_per_piece: number;
24216
+ supply_line_id: string | null;
24217
+ trade_item_key: string;
24218
+ updated_at: string;
24219
+ user_id: string;
24220
+ };
24221
+ Insert: {
24222
+ created_at?: string;
24223
+ currency?: string;
24224
+ id?: string;
24225
+ last_push_error?: string | null;
24226
+ last_pushed_at?: string | null;
24227
+ price_group_id?: string | null;
24228
+ price_per_piece: number;
24229
+ supply_line_id?: string | null;
24230
+ trade_item_key: string;
24231
+ updated_at?: string;
24232
+ user_id: string;
24233
+ };
24234
+ Update: {
24235
+ created_at?: string;
24236
+ currency?: string;
24237
+ id?: string;
24238
+ last_push_error?: string | null;
24239
+ last_pushed_at?: string | null;
24240
+ price_group_id?: string | null;
24241
+ price_per_piece?: number;
24242
+ supply_line_id?: string | null;
24243
+ trade_item_key?: string;
24244
+ updated_at?: string;
24245
+ user_id?: string;
24246
+ };
24247
+ Relationships: [];
24248
+ };
22546
24249
  trade_item_stock: {
22547
24250
  Row: {
22548
24251
  connection_id: string;
@@ -23008,6 +24711,51 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
23008
24711
  referencedColumns: ["id"];
23009
24712
  }];
23010
24713
  };
24714
+ twinfield_invoice_pdf_cache: {
24715
+ Row: {
24716
+ connection_id: string;
24717
+ created_at: string;
24718
+ fetched_at: string;
24719
+ id: string;
24720
+ invoice_number: string;
24721
+ last_accessed_at: string;
24722
+ object_path: string;
24723
+ office_code: string;
24724
+ size_bytes: number;
24725
+ updated_at: string;
24726
+ };
24727
+ Insert: {
24728
+ connection_id: string;
24729
+ created_at?: string;
24730
+ fetched_at?: string;
24731
+ id?: string;
24732
+ invoice_number: string;
24733
+ last_accessed_at?: string;
24734
+ object_path: string;
24735
+ office_code: string;
24736
+ size_bytes?: number;
24737
+ updated_at?: string;
24738
+ };
24739
+ Update: {
24740
+ connection_id?: string;
24741
+ created_at?: string;
24742
+ fetched_at?: string;
24743
+ id?: string;
24744
+ invoice_number?: string;
24745
+ last_accessed_at?: string;
24746
+ object_path?: string;
24747
+ office_code?: string;
24748
+ size_bytes?: number;
24749
+ updated_at?: string;
24750
+ };
24751
+ Relationships: [{
24752
+ foreignKeyName: "twinfield_invoice_pdf_cache_connection_id_fkey";
24753
+ columns: ["connection_id"];
24754
+ isOneToOne: false;
24755
+ referencedRelation: "twinfield_connections";
24756
+ referencedColumns: ["id"];
24757
+ }];
24758
+ };
23011
24759
  twinfield_invoice_settings: {
23012
24760
  Row: {
23013
24761
  created_at: string;
@@ -23611,6 +25359,78 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
23611
25359
  };
23612
25360
  Relationships: [];
23613
25361
  };
25362
+ werkbon_package_ai_rules: {
25363
+ Row: {
25364
+ active: boolean;
25365
+ case_sensitive: boolean;
25366
+ created_at: string;
25367
+ id: string;
25368
+ package_id: string;
25369
+ priority: number;
25370
+ rule_type: string;
25371
+ updated_at: string;
25372
+ value: string;
25373
+ };
25374
+ Insert: {
25375
+ active?: boolean;
25376
+ case_sensitive?: boolean;
25377
+ created_at?: string;
25378
+ id?: string;
25379
+ package_id: string;
25380
+ priority?: number;
25381
+ rule_type: string;
25382
+ updated_at?: string;
25383
+ value: string;
25384
+ };
25385
+ Update: {
25386
+ active?: boolean;
25387
+ case_sensitive?: boolean;
25388
+ created_at?: string;
25389
+ id?: string;
25390
+ package_id?: string;
25391
+ priority?: number;
25392
+ rule_type?: string;
25393
+ updated_at?: string;
25394
+ value?: string;
25395
+ };
25396
+ Relationships: [{
25397
+ foreignKeyName: "werkbon_package_ai_rules_package_id_fkey";
25398
+ columns: ["package_id"];
25399
+ isOneToOne: false;
25400
+ referencedRelation: "werkbon_packages";
25401
+ referencedColumns: ["id"];
25402
+ }];
25403
+ };
25404
+ werkbon_package_categories: {
25405
+ Row: {
25406
+ active: boolean;
25407
+ created_at: string;
25408
+ id: string;
25409
+ kleur: string | null;
25410
+ naam: string;
25411
+ sort_order: number;
25412
+ updated_at: string;
25413
+ };
25414
+ Insert: {
25415
+ active?: boolean;
25416
+ created_at?: string;
25417
+ id?: string;
25418
+ kleur?: string | null;
25419
+ naam: string;
25420
+ sort_order?: number;
25421
+ updated_at?: string;
25422
+ };
25423
+ Update: {
25424
+ active?: boolean;
25425
+ created_at?: string;
25426
+ id?: string;
25427
+ kleur?: string | null;
25428
+ naam?: string;
25429
+ sort_order?: number;
25430
+ updated_at?: string;
25431
+ };
25432
+ Relationships: [];
25433
+ };
23614
25434
  werkbon_package_lines: {
23615
25435
  Row: {
23616
25436
  created_at: string;
@@ -23656,38 +25476,59 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
23656
25476
  werkbon_packages: {
23657
25477
  Row: {
23658
25478
  active: boolean;
25479
+ ai_tags: string[];
25480
+ category_id: string | null;
23659
25481
  code: string;
23660
25482
  created_at: string;
23661
25483
  default_quantity: number;
23662
25484
  description: string | null;
25485
+ duration_minutes: number | null;
23663
25486
  id: string;
25487
+ mandaat_type: string | null;
23664
25488
  name: string;
25489
+ sort_order: number;
23665
25490
  unit_price_cents: number;
23666
25491
  updated_at: string;
23667
25492
  };
23668
25493
  Insert: {
23669
25494
  active?: boolean;
25495
+ ai_tags?: string[];
25496
+ category_id?: string | null;
23670
25497
  code: string;
23671
25498
  created_at?: string;
23672
25499
  default_quantity?: number;
23673
25500
  description?: string | null;
25501
+ duration_minutes?: number | null;
23674
25502
  id?: string;
25503
+ mandaat_type?: string | null;
23675
25504
  name: string;
25505
+ sort_order?: number;
23676
25506
  unit_price_cents?: number;
23677
25507
  updated_at?: string;
23678
25508
  };
23679
25509
  Update: {
23680
25510
  active?: boolean;
25511
+ ai_tags?: string[];
25512
+ category_id?: string | null;
23681
25513
  code?: string;
23682
25514
  created_at?: string;
23683
25515
  default_quantity?: number;
23684
25516
  description?: string | null;
25517
+ duration_minutes?: number | null;
23685
25518
  id?: string;
25519
+ mandaat_type?: string | null;
23686
25520
  name?: string;
25521
+ sort_order?: number;
23687
25522
  unit_price_cents?: number;
23688
25523
  updated_at?: string;
23689
25524
  };
23690
- Relationships: [];
25525
+ Relationships: [{
25526
+ foreignKeyName: "werkbon_packages_category_id_fkey";
25527
+ columns: ["category_id"];
25528
+ isOneToOne: false;
25529
+ referencedRelation: "werkbon_package_categories";
25530
+ referencedColumns: ["id"];
25531
+ }];
23691
25532
  };
23692
25533
  werkbon_photos: {
23693
25534
  Row: {
@@ -23775,7 +25616,10 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
23775
25616
  scheduled_end_time: string | null;
23776
25617
  scheduled_start_time: string | null;
23777
25618
  sequence_number: number;
25619
+ source_email_meta: import("../integrations/supabase/types").Json | null;
25620
+ source_mailbox_message_id: string | null;
23778
25621
  source_pdf_path: string | null;
25622
+ source_type: string;
23779
25623
  status: string;
23780
25624
  technician_id: string | null;
23781
25625
  technician_notes: string | null;
@@ -23804,7 +25648,10 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
23804
25648
  scheduled_end_time?: string | null;
23805
25649
  scheduled_start_time?: string | null;
23806
25650
  sequence_number: number;
25651
+ source_email_meta?: import("../integrations/supabase/types").Json | null;
25652
+ source_mailbox_message_id?: string | null;
23807
25653
  source_pdf_path?: string | null;
25654
+ source_type?: string;
23808
25655
  status?: string;
23809
25656
  technician_id?: string | null;
23810
25657
  technician_notes?: string | null;
@@ -23833,7 +25680,10 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
23833
25680
  scheduled_end_time?: string | null;
23834
25681
  scheduled_start_time?: string | null;
23835
25682
  sequence_number?: number;
25683
+ source_email_meta?: import("../integrations/supabase/types").Json | null;
25684
+ source_mailbox_message_id?: string | null;
23836
25685
  source_pdf_path?: string | null;
25686
+ source_type?: string;
23837
25687
  status?: string;
23838
25688
  technician_id?: string | null;
23839
25689
  technician_notes?: string | null;
@@ -23850,10 +25700,10 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
23850
25700
  referencedRelation: "werkbonnen";
23851
25701
  referencedColumns: ["id"];
23852
25702
  }, {
23853
- foreignKeyName: "werkbonnen_technician_id_fkey";
23854
- columns: ["technician_id"];
25703
+ foreignKeyName: "werkbonnen_source_mailbox_message_id_fkey";
25704
+ columns: ["source_mailbox_message_id"];
23855
25705
  isOneToOne: false;
23856
- referencedRelation: "monteurs";
25706
+ referencedRelation: "mailbox_messages";
23857
25707
  referencedColumns: ["id"];
23858
25708
  }];
23859
25709
  };
@@ -24547,6 +26397,13 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
24547
26397
  };
24548
26398
  Returns: number;
24549
26399
  };
26400
+ _migrate_rewrite_stock_key: {
26401
+ Args: {
26402
+ _from_key: string;
26403
+ _to_key: string;
26404
+ };
26405
+ Returns: undefined;
26406
+ };
24550
26407
  afh_city_code: {
24551
26408
  Args: {
24552
26409
  _city: string;
@@ -24573,6 +26430,21 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
24573
26430
  };
24574
26431
  Returns: string;
24575
26432
  };
26433
+ ai_usage_by_module: {
26434
+ Args: {
26435
+ _from: string;
26436
+ _to: string;
26437
+ };
26438
+ Returns: {
26439
+ calls: number;
26440
+ consumer_module_id: string;
26441
+ cost_usd: number;
26442
+ errors: number;
26443
+ input_tokens: number;
26444
+ output_tokens: number;
26445
+ total_tokens: number;
26446
+ }[];
26447
+ };
24576
26448
  apply_stock_consumption: {
24577
26449
  Args: {
24578
26450
  p_order_id: string;
@@ -24630,6 +26502,12 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
24630
26502
  processed_items: number;
24631
26503
  }[];
24632
26504
  };
26505
+ calculate_layer_stock: {
26506
+ Args: {
26507
+ p_product_id: string;
26508
+ };
26509
+ Returns: number;
26510
+ };
24633
26511
  call_exact_route: {
24634
26512
  Args: {
24635
26513
  path: string;
@@ -24689,6 +26567,28 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
24689
26567
  Args: never;
24690
26568
  Returns: undefined;
24691
26569
  };
26570
+ consume_bom_for_production: {
26571
+ Args: {
26572
+ p_connection_id: string;
26573
+ p_parent_id: string;
26574
+ p_parent_key: string;
26575
+ p_parent_kind: string;
26576
+ p_quantity: number;
26577
+ p_user_id: string;
26578
+ };
26579
+ Returns: import("../integrations/supabase/types").Json;
26580
+ } | {
26581
+ Args: {
26582
+ p_batch_id?: string;
26583
+ p_connection_id: string;
26584
+ p_parent_id: string;
26585
+ p_parent_key: string;
26586
+ p_parent_kind: string;
26587
+ p_quantity: number;
26588
+ p_user_id: string;
26589
+ };
26590
+ Returns: import("../integrations/supabase/types").Json;
26591
+ };
24692
26592
  consume_floriday_rate_limit: {
24693
26593
  Args: {
24694
26594
  p_bucket: string;
@@ -24721,6 +26621,12 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
24721
26621
  Args: never;
24722
26622
  Returns: string;
24723
26623
  };
26624
+ custom_access_token_hook: {
26625
+ Args: {
26626
+ event: import("../integrations/supabase/types").Json;
26627
+ };
26628
+ Returns: import("../integrations/supabase/types").Json;
26629
+ };
24724
26630
  dashboard_alert_counts: {
24725
26631
  Args: never;
24726
26632
  Returns: import("../integrations/supabase/types").Json;
@@ -24740,6 +26646,13 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
24740
26646
  table_name: string;
24741
26647
  }[];
24742
26648
  };
26649
+ delete_samenstelling: {
26650
+ Args: {
26651
+ p_parent_id: string;
26652
+ p_parent_kind: string;
26653
+ };
26654
+ Returns: import("../integrations/supabase/types").Json;
26655
+ };
24743
26656
  dispatch_carrier_signups_sql: {
24744
26657
  Args: {
24745
26658
  _catchup?: string;
@@ -24995,6 +26908,27 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
24995
26908
  minutes_since_success: number;
24996
26909
  }[];
24997
26910
  };
26911
+ get_group_allocation_keys: {
26912
+ Args: {
26913
+ p_product_id: string;
26914
+ };
26915
+ Returns: {
26916
+ k: string;
26917
+ ord: number;
26918
+ }[];
26919
+ };
26920
+ get_group_head_key: {
26921
+ Args: {
26922
+ p_group_id: string;
26923
+ };
26924
+ Returns: string;
26925
+ };
26926
+ get_inventory_stock_for_key: {
26927
+ Args: {
26928
+ p_key: string;
26929
+ };
26930
+ Returns: number;
26931
+ };
24998
26932
  get_offer_by_link_code: {
24999
26933
  Args: {
25000
26934
  p_code: string;
@@ -25025,6 +26959,12 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25025
26959
  };
25026
26960
  Returns: string;
25027
26961
  };
26962
+ get_product_group_available_stock: {
26963
+ Args: {
26964
+ p_group_id: string;
26965
+ };
26966
+ Returns: number;
26967
+ };
25028
26968
  get_room_busy_windows: {
25029
26969
  Args: {
25030
26970
  p_from: string;
@@ -25089,12 +27029,35 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25089
27029
  };
25090
27030
  Returns: boolean;
25091
27031
  };
27032
+ jwt_has_role: {
27033
+ Args: {
27034
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
27035
+ };
27036
+ Returns: boolean;
27037
+ };
25092
27038
  list_monteurs: {
25093
27039
  Args: never;
25094
27040
  Returns: {
27041
+ avatar_url: string;
25095
27042
  display_name: string;
25096
27043
  email: string;
25097
- user_id: string;
27044
+ id: string;
27045
+ }[];
27046
+ };
27047
+ list_my_planning_items: {
27048
+ Args: {
27049
+ _from: string;
27050
+ _to: string;
27051
+ };
27052
+ Returns: {
27053
+ assigned_monteur_id: string;
27054
+ end_at: string;
27055
+ id: string;
27056
+ notes: string;
27057
+ role: string;
27058
+ start_at: string;
27059
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
27060
+ werkbon_id: string;
25098
27061
  }[];
25099
27062
  };
25100
27063
  local_effective_price: {
@@ -25113,6 +27076,22 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25113
27076
  source_id: string;
25114
27077
  }[];
25115
27078
  };
27079
+ log_ai_call: {
27080
+ Args: {
27081
+ _consumer_module_id: string;
27082
+ _cost_usd: number;
27083
+ _duration_ms: number;
27084
+ _error_code: string;
27085
+ _error_message: string;
27086
+ _input_tokens: number;
27087
+ _model_slug: string;
27088
+ _output_tokens: number;
27089
+ _provider_slug: string;
27090
+ _status: string;
27091
+ _total_tokens: number;
27092
+ };
27093
+ Returns: string;
27094
+ };
25116
27095
  mark_offer_clicked: {
25117
27096
  Args: {
25118
27097
  p_code: string;
@@ -25125,12 +27104,32 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25125
27104
  };
25126
27105
  Returns: undefined;
25127
27106
  };
27107
+ mark_salesorder_controlled: {
27108
+ Args: {
27109
+ p_controlled: boolean;
27110
+ p_floriday_id: string;
27111
+ };
27112
+ Returns: undefined;
27113
+ };
25128
27114
  mark_shipment_shipped: {
25129
27115
  Args: {
25130
27116
  p_shipment_id: string;
25131
27117
  };
25132
27118
  Returns: undefined;
25133
27119
  };
27120
+ merge_products: {
27121
+ Args: {
27122
+ _canonical: string;
27123
+ _loser: string;
27124
+ };
27125
+ Returns: undefined;
27126
+ };
27127
+ next_manufacture_partij: {
27128
+ Args: {
27129
+ _tenant_id: string;
27130
+ };
27131
+ Returns: string;
27132
+ };
25134
27133
  next_order_number: {
25135
27134
  Args: {
25136
27135
  p_prefix: string;
@@ -25204,6 +27203,15 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25204
27203
  };
25205
27204
  Returns: undefined;
25206
27205
  };
27206
+ pickstation_resolve_delivery_orders: {
27207
+ Args: {
27208
+ p_sales_order_ids: string[];
27209
+ };
27210
+ Returns: {
27211
+ delivery_order_id: string;
27212
+ sales_order_id: string;
27213
+ }[];
27214
+ };
25207
27215
  pickstation_set_cart_status: {
25208
27216
  Args: {
25209
27217
  p_cart_index: number;
@@ -25213,6 +27221,14 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25213
27221
  };
25214
27222
  Returns: undefined;
25215
27223
  };
27224
+ produce_designed_product: {
27225
+ Args: {
27226
+ p_parent_id: string;
27227
+ p_parent_kind: string;
27228
+ p_quantity: number;
27229
+ };
27230
+ Returns: import("../integrations/supabase/types").Json;
27231
+ };
25216
27232
  promote_trade_item_key: {
25217
27233
  Args: {
25218
27234
  p_new: string;
@@ -25220,6 +27236,10 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25220
27236
  };
25221
27237
  Returns: undefined;
25222
27238
  };
27239
+ recompute_all_reserved_stock: {
27240
+ Args: never;
27241
+ Returns: undefined;
27242
+ };
25223
27243
  recompute_order_status: {
25224
27244
  Args: {
25225
27245
  p_order_id: string;
@@ -25275,18 +27295,50 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25275
27295
  };
25276
27296
  Returns: undefined;
25277
27297
  };
27298
+ resolve_group_allocation: {
27299
+ Args: {
27300
+ _needed: number;
27301
+ _product_group_id: string;
27302
+ };
27303
+ Returns: {
27304
+ allocated: number;
27305
+ trade_item_id: string;
27306
+ }[];
27307
+ };
27308
+ resolve_group_member_stock_key: {
27309
+ Args: {
27310
+ p_trade_item_id: string;
27311
+ };
27312
+ Returns: string;
27313
+ };
25278
27314
  resolve_product_id_for_item: {
25279
27315
  Args: {
25280
27316
  p_product_name: string;
25281
27317
  };
25282
27318
  Returns: string;
25283
27319
  };
27320
+ resolve_stock_trade_item_key: {
27321
+ Args: {
27322
+ p_product_id: string;
27323
+ };
27324
+ Returns: string;
27325
+ };
25284
27326
  retry_twinfield_push: {
25285
27327
  Args: {
25286
27328
  _customer_id: string;
25287
27329
  };
25288
27330
  Returns: number;
25289
27331
  };
27332
+ reverse_production: {
27333
+ Args: {
27334
+ p_connection_id?: string;
27335
+ p_parent_key: string;
27336
+ p_quantity: number;
27337
+ p_reason?: string;
27338
+ p_user_id?: string;
27339
+ };
27340
+ Returns: import("../integrations/supabase/types").Json;
27341
+ };
25290
27342
  schedule_floriday_additional_services_sync: {
25291
27343
  Args: {
25292
27344
  p_apikey: string;
@@ -25554,6 +27606,17 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25554
27606
  };
25555
27607
  Returns: number;
25556
27608
  };
27609
+ self_heal_floriday_links: {
27610
+ Args: never;
27611
+ Returns: number;
27612
+ };
27613
+ set_planning_status: {
27614
+ Args: {
27615
+ _id: string;
27616
+ _status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
27617
+ };
27618
+ Returns: undefined;
27619
+ };
25557
27620
  show_limit: {
25558
27621
  Args: never;
25559
27622
  Returns: number;
@@ -25564,18 +27627,34 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25564
27627
  };
25565
27628
  Returns: string[];
25566
27629
  };
27630
+ sync_all_layer_stocks: {
27631
+ Args: never;
27632
+ Returns: undefined;
27633
+ };
25567
27634
  sync_cached_packing_from_product: {
25568
27635
  Args: {
25569
27636
  p_product_id: string;
25570
27637
  };
25571
27638
  Returns: undefined;
25572
27639
  };
27640
+ sync_layer_stock: {
27641
+ Args: {
27642
+ p_product_id: string;
27643
+ };
27644
+ Returns: undefined;
27645
+ };
25573
27646
  sync_order_cart_item_packing_from_product: {
25574
27647
  Args: {
25575
27648
  p_product_id: string;
25576
27649
  };
25577
27650
  Returns: undefined;
25578
27651
  };
27652
+ sync_product_group_belading: {
27653
+ Args: {
27654
+ _group_id: string;
27655
+ };
27656
+ Returns: undefined;
27657
+ };
25579
27658
  sync_product_packing_from_floriday_cache: {
25580
27659
  Args: {
25581
27660
  p_floriday_id: string;
@@ -25607,11 +27686,12 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Optio
25607
27686
  };
25608
27687
  };
25609
27688
  Enums: {
25610
- app_role: "admin" | "planner" | "monteur" | "administratie";
27689
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
25611
27690
  exact_env: "staging" | "live";
25612
27691
  exact_push_status: "pending" | "sent" | "error";
25613
27692
  itk_customer_segment: "Business" | "Private";
25614
27693
  itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
27694
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd" | "concept" | "vrijgegeven";
25615
27695
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
25616
27696
  };
25617
27697
  CompositeTypes: { [_ in never]: never; };
@@ -25931,6 +28011,57 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
25931
28011
  referencedColumns: ["id"];
25932
28012
  }];
25933
28013
  };
28014
+ ai_call_log: {
28015
+ Row: {
28016
+ consumer_module_id: string;
28017
+ cost_usd: number | null;
28018
+ created_at: string;
28019
+ created_by: string | null;
28020
+ duration_ms: number | null;
28021
+ error_code: string | null;
28022
+ error_message: string | null;
28023
+ id: string;
28024
+ input_tokens: number;
28025
+ model_slug: string | null;
28026
+ output_tokens: number;
28027
+ provider_slug: string | null;
28028
+ status: string;
28029
+ total_tokens: number;
28030
+ };
28031
+ Insert: {
28032
+ consumer_module_id: string;
28033
+ cost_usd?: number | null;
28034
+ created_at?: string;
28035
+ created_by?: string | null;
28036
+ duration_ms?: number | null;
28037
+ error_code?: string | null;
28038
+ error_message?: string | null;
28039
+ id?: string;
28040
+ input_tokens?: number;
28041
+ model_slug?: string | null;
28042
+ output_tokens?: number;
28043
+ provider_slug?: string | null;
28044
+ status: string;
28045
+ total_tokens?: number;
28046
+ };
28047
+ Update: {
28048
+ consumer_module_id?: string;
28049
+ cost_usd?: number | null;
28050
+ created_at?: string;
28051
+ created_by?: string | null;
28052
+ duration_ms?: number | null;
28053
+ error_code?: string | null;
28054
+ error_message?: string | null;
28055
+ id?: string;
28056
+ input_tokens?: number;
28057
+ model_slug?: string | null;
28058
+ output_tokens?: number;
28059
+ provider_slug?: string | null;
28060
+ status?: string;
28061
+ total_tokens?: number;
28062
+ };
28063
+ Relationships: [];
28064
+ };
25934
28065
  ai_credentials: {
25935
28066
  Row: {
25936
28067
  active: boolean;
@@ -25967,6 +28098,36 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
25967
28098
  referencedColumns: ["id"];
25968
28099
  }];
25969
28100
  };
28101
+ ai_goals: {
28102
+ Row: {
28103
+ active: boolean;
28104
+ created_at: string;
28105
+ description: string | null;
28106
+ key: string;
28107
+ label: string;
28108
+ sort_order: number;
28109
+ updated_at: string;
28110
+ };
28111
+ Insert: {
28112
+ active?: boolean;
28113
+ created_at?: string;
28114
+ description?: string | null;
28115
+ key: string;
28116
+ label: string;
28117
+ sort_order?: number;
28118
+ updated_at?: string;
28119
+ };
28120
+ Update: {
28121
+ active?: boolean;
28122
+ created_at?: string;
28123
+ description?: string | null;
28124
+ key?: string;
28125
+ label?: string;
28126
+ sort_order?: number;
28127
+ updated_at?: string;
28128
+ };
28129
+ Relationships: [];
28130
+ };
25970
28131
  ai_model_pricing: {
25971
28132
  Row: {
25972
28133
  created_at: string;
@@ -32111,6 +34272,285 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
32111
34272
  };
32112
34273
  Relationships: [];
32113
34274
  };
34275
+ logistics_capacity_events: {
34276
+ Row: {
34277
+ available_carts: number;
34278
+ created_at: string;
34279
+ id: string;
34280
+ measures: import("../integrations/supabase/types").Json;
34281
+ note: string | null;
34282
+ outcome: string;
34283
+ required_carts: number;
34284
+ reserve_minutes: number;
34285
+ shortage_carts: number;
34286
+ status: string;
34287
+ user_id: string;
34288
+ };
34289
+ Insert: {
34290
+ available_carts?: number;
34291
+ created_at?: string;
34292
+ id?: string;
34293
+ measures?: import("../integrations/supabase/types").Json;
34294
+ note?: string | null;
34295
+ outcome?: string;
34296
+ required_carts?: number;
34297
+ reserve_minutes?: number;
34298
+ shortage_carts?: number;
34299
+ status: string;
34300
+ user_id: string;
34301
+ };
34302
+ Update: {
34303
+ available_carts?: number;
34304
+ created_at?: string;
34305
+ id?: string;
34306
+ measures?: import("../integrations/supabase/types").Json;
34307
+ note?: string | null;
34308
+ outcome?: string;
34309
+ required_carts?: number;
34310
+ reserve_minutes?: number;
34311
+ shortage_carts?: number;
34312
+ status?: string;
34313
+ user_id?: string;
34314
+ };
34315
+ Relationships: [];
34316
+ };
34317
+ logistics_capacity_settings: {
34318
+ Row: {
34319
+ created_at: string;
34320
+ settings: import("../integrations/supabase/types").Json;
34321
+ updated_at: string;
34322
+ user_id: string;
34323
+ };
34324
+ Insert: {
34325
+ created_at?: string;
34326
+ settings?: import("../integrations/supabase/types").Json;
34327
+ updated_at?: string;
34328
+ user_id: string;
34329
+ };
34330
+ Update: {
34331
+ created_at?: string;
34332
+ settings?: import("../integrations/supabase/types").Json;
34333
+ updated_at?: string;
34334
+ user_id?: string;
34335
+ };
34336
+ Relationships: [];
34337
+ };
34338
+ logistics_decisions: {
34339
+ Row: {
34340
+ created_at: string;
34341
+ explanation: string | null;
34342
+ id: string;
34343
+ input_snapshot: import("../integrations/supabase/types").Json;
34344
+ result: import("../integrations/supabase/types").Json;
34345
+ slot: string;
34346
+ strategy_id: string | null;
34347
+ subject_id: string;
34348
+ subject_type: string;
34349
+ user_id: string;
34350
+ };
34351
+ Insert: {
34352
+ created_at?: string;
34353
+ explanation?: string | null;
34354
+ id?: string;
34355
+ input_snapshot?: import("../integrations/supabase/types").Json;
34356
+ result?: import("../integrations/supabase/types").Json;
34357
+ slot: string;
34358
+ strategy_id?: string | null;
34359
+ subject_id: string;
34360
+ subject_type: string;
34361
+ user_id: string;
34362
+ };
34363
+ Update: {
34364
+ created_at?: string;
34365
+ explanation?: string | null;
34366
+ id?: string;
34367
+ input_snapshot?: import("../integrations/supabase/types").Json;
34368
+ result?: import("../integrations/supabase/types").Json;
34369
+ slot?: string;
34370
+ strategy_id?: string | null;
34371
+ subject_id?: string;
34372
+ subject_type?: string;
34373
+ user_id?: string;
34374
+ };
34375
+ Relationships: [{
34376
+ foreignKeyName: "logistics_decisions_strategy_id_fkey";
34377
+ columns: ["strategy_id"];
34378
+ isOneToOne: false;
34379
+ referencedRelation: "logistics_strategies";
34380
+ referencedColumns: ["id"];
34381
+ }];
34382
+ };
34383
+ logistics_formulas: {
34384
+ Row: {
34385
+ created_at: string;
34386
+ expression: string;
34387
+ id: string;
34388
+ notes: string | null;
34389
+ slot: string;
34390
+ strategy_id: string;
34391
+ updated_at: string;
34392
+ user_id: string;
34393
+ version: number;
34394
+ };
34395
+ Insert: {
34396
+ created_at?: string;
34397
+ expression?: string;
34398
+ id?: string;
34399
+ notes?: string | null;
34400
+ slot: string;
34401
+ strategy_id: string;
34402
+ updated_at?: string;
34403
+ user_id: string;
34404
+ version?: number;
34405
+ };
34406
+ Update: {
34407
+ created_at?: string;
34408
+ expression?: string;
34409
+ id?: string;
34410
+ notes?: string | null;
34411
+ slot?: string;
34412
+ strategy_id?: string;
34413
+ updated_at?: string;
34414
+ user_id?: string;
34415
+ version?: number;
34416
+ };
34417
+ Relationships: [{
34418
+ foreignKeyName: "logistics_formulas_strategy_id_fkey";
34419
+ columns: ["strategy_id"];
34420
+ isOneToOne: false;
34421
+ referencedRelation: "logistics_strategies";
34422
+ referencedColumns: ["id"];
34423
+ }];
34424
+ };
34425
+ logistics_strategies: {
34426
+ Row: {
34427
+ color: string;
34428
+ created_at: string;
34429
+ description: string | null;
34430
+ id: string;
34431
+ is_active: boolean;
34432
+ name: string;
34433
+ priority: number;
34434
+ updated_at: string;
34435
+ updated_by: string | null;
34436
+ user_id: string;
34437
+ version: number;
34438
+ };
34439
+ Insert: {
34440
+ color?: string;
34441
+ created_at?: string;
34442
+ description?: string | null;
34443
+ id?: string;
34444
+ is_active?: boolean;
34445
+ name: string;
34446
+ priority?: number;
34447
+ updated_at?: string;
34448
+ updated_by?: string | null;
34449
+ user_id: string;
34450
+ version?: number;
34451
+ };
34452
+ Update: {
34453
+ color?: string;
34454
+ created_at?: string;
34455
+ description?: string | null;
34456
+ id?: string;
34457
+ is_active?: boolean;
34458
+ name?: string;
34459
+ priority?: number;
34460
+ updated_at?: string;
34461
+ updated_by?: string | null;
34462
+ user_id?: string;
34463
+ version?: number;
34464
+ };
34465
+ Relationships: [];
34466
+ };
34467
+ logistics_strategy_schedules: {
34468
+ Row: {
34469
+ condition_expression: string | null;
34470
+ created_at: string;
34471
+ end_date: string | null;
34472
+ id: string;
34473
+ is_enabled: boolean;
34474
+ priority: number;
34475
+ rule_type: string;
34476
+ start_date: string | null;
34477
+ strategy_id: string;
34478
+ updated_at: string;
34479
+ user_id: string;
34480
+ };
34481
+ Insert: {
34482
+ condition_expression?: string | null;
34483
+ created_at?: string;
34484
+ end_date?: string | null;
34485
+ id?: string;
34486
+ is_enabled?: boolean;
34487
+ priority?: number;
34488
+ rule_type: string;
34489
+ start_date?: string | null;
34490
+ strategy_id: string;
34491
+ updated_at?: string;
34492
+ user_id: string;
34493
+ };
34494
+ Update: {
34495
+ condition_expression?: string | null;
34496
+ created_at?: string;
34497
+ end_date?: string | null;
34498
+ id?: string;
34499
+ is_enabled?: boolean;
34500
+ priority?: number;
34501
+ rule_type?: string;
34502
+ start_date?: string | null;
34503
+ strategy_id?: string;
34504
+ updated_at?: string;
34505
+ user_id?: string;
34506
+ };
34507
+ Relationships: [{
34508
+ foreignKeyName: "logistics_strategy_schedules_strategy_id_fkey";
34509
+ columns: ["strategy_id"];
34510
+ isOneToOne: false;
34511
+ referencedRelation: "logistics_strategies";
34512
+ referencedColumns: ["id"];
34513
+ }];
34514
+ };
34515
+ logistics_variables: {
34516
+ Row: {
34517
+ created_at: string;
34518
+ default_value: string | null;
34519
+ description: string | null;
34520
+ id: string;
34521
+ is_builtin: boolean;
34522
+ key: string;
34523
+ label: string;
34524
+ updated_at: string;
34525
+ user_id: string;
34526
+ value_type: string;
34527
+ };
34528
+ Insert: {
34529
+ created_at?: string;
34530
+ default_value?: string | null;
34531
+ description?: string | null;
34532
+ id?: string;
34533
+ is_builtin?: boolean;
34534
+ key: string;
34535
+ label: string;
34536
+ updated_at?: string;
34537
+ user_id: string;
34538
+ value_type: string;
34539
+ };
34540
+ Update: {
34541
+ created_at?: string;
34542
+ default_value?: string | null;
34543
+ description?: string | null;
34544
+ id?: string;
34545
+ is_builtin?: boolean;
34546
+ key?: string;
34547
+ label?: string;
34548
+ updated_at?: string;
34549
+ user_id?: string;
34550
+ value_type?: string;
34551
+ };
34552
+ Relationships: [];
34553
+ };
32114
34554
  mailbox_messages: {
32115
34555
  Row: {
32116
34556
  body_html: string | null;
@@ -33884,6 +36324,138 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
33884
36324
  };
33885
36325
  Relationships: [];
33886
36326
  };
36327
+ planning_item_assistants: {
36328
+ Row: {
36329
+ created_at: string;
36330
+ created_by: string | null;
36331
+ monteur_id: string;
36332
+ planning_item_id: string;
36333
+ };
36334
+ Insert: {
36335
+ created_at?: string;
36336
+ created_by?: string | null;
36337
+ monteur_id: string;
36338
+ planning_item_id: string;
36339
+ };
36340
+ Update: {
36341
+ created_at?: string;
36342
+ created_by?: string | null;
36343
+ monteur_id?: string;
36344
+ planning_item_id?: string;
36345
+ };
36346
+ Relationships: [{
36347
+ foreignKeyName: "planning_item_assistants_planning_item_id_fkey";
36348
+ columns: ["planning_item_id"];
36349
+ isOneToOne: false;
36350
+ referencedRelation: "planning_items";
36351
+ referencedColumns: ["id"];
36352
+ }];
36353
+ };
36354
+ planning_items: {
36355
+ Row: {
36356
+ assigned_monteur_id: string;
36357
+ created_at: string;
36358
+ created_by: string | null;
36359
+ end_at: string;
36360
+ id: string;
36361
+ notes: string | null;
36362
+ start_at: string;
36363
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
36364
+ updated_at: string;
36365
+ werkbon_id: string;
36366
+ };
36367
+ Insert: {
36368
+ assigned_monteur_id: string;
36369
+ created_at?: string;
36370
+ created_by?: string | null;
36371
+ end_at: string;
36372
+ id?: string;
36373
+ notes?: string | null;
36374
+ start_at: string;
36375
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
36376
+ updated_at?: string;
36377
+ werkbon_id: string;
36378
+ };
36379
+ Update: {
36380
+ assigned_monteur_id?: string;
36381
+ created_at?: string;
36382
+ created_by?: string | null;
36383
+ end_at?: string;
36384
+ id?: string;
36385
+ notes?: string | null;
36386
+ start_at?: string;
36387
+ status?: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
36388
+ updated_at?: string;
36389
+ werkbon_id?: string;
36390
+ };
36391
+ Relationships: [{
36392
+ foreignKeyName: "planning_items_werkbon_id_fkey";
36393
+ columns: ["werkbon_id"];
36394
+ isOneToOne: false;
36395
+ referencedRelation: "werkbonnen";
36396
+ referencedColumns: ["id"];
36397
+ }];
36398
+ };
36399
+ product_bom_items: {
36400
+ Row: {
36401
+ component_product_id: string | null;
36402
+ component_trade_item_floriday_id: string | null;
36403
+ created_at: string;
36404
+ id: string;
36405
+ notes: string | null;
36406
+ packing_configuration_id: string | null;
36407
+ parent_product_id: string | null;
36408
+ parent_trade_item_floriday_id: string | null;
36409
+ quantity: number;
36410
+ sort_order: number;
36411
+ tenant_id: string;
36412
+ unit: string;
36413
+ updated_at: string;
36414
+ };
36415
+ Insert: {
36416
+ component_product_id?: string | null;
36417
+ component_trade_item_floriday_id?: string | null;
36418
+ created_at?: string;
36419
+ id?: string;
36420
+ notes?: string | null;
36421
+ packing_configuration_id?: string | null;
36422
+ parent_product_id?: string | null;
36423
+ parent_trade_item_floriday_id?: string | null;
36424
+ quantity?: number;
36425
+ sort_order?: number;
36426
+ tenant_id: string;
36427
+ unit?: string;
36428
+ updated_at?: string;
36429
+ };
36430
+ Update: {
36431
+ component_product_id?: string | null;
36432
+ component_trade_item_floriday_id?: string | null;
36433
+ created_at?: string;
36434
+ id?: string;
36435
+ notes?: string | null;
36436
+ packing_configuration_id?: string | null;
36437
+ parent_product_id?: string | null;
36438
+ parent_trade_item_floriday_id?: string | null;
36439
+ quantity?: number;
36440
+ sort_order?: number;
36441
+ tenant_id?: string;
36442
+ unit?: string;
36443
+ updated_at?: string;
36444
+ };
36445
+ Relationships: [{
36446
+ foreignKeyName: "product_bom_items_component_product_id_fkey";
36447
+ columns: ["component_product_id"];
36448
+ isOneToOne: false;
36449
+ referencedRelation: "products";
36450
+ referencedColumns: ["id"];
36451
+ }, {
36452
+ foreignKeyName: "product_bom_items_parent_product_id_fkey";
36453
+ columns: ["parent_product_id"];
36454
+ isOneToOne: false;
36455
+ referencedRelation: "products";
36456
+ referencedColumns: ["id"];
36457
+ }];
36458
+ };
33887
36459
  product_categories: {
33888
36460
  Row: {
33889
36461
  color: string;
@@ -33989,6 +36561,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
33989
36561
  id: string;
33990
36562
  product_group_id: string;
33991
36563
  quantity: number;
36564
+ sort_order: number;
33992
36565
  trade_item_id: string;
33993
36566
  };
33994
36567
  Insert: {
@@ -33996,6 +36569,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
33996
36569
  id?: string;
33997
36570
  product_group_id: string;
33998
36571
  quantity?: number;
36572
+ sort_order?: number;
33999
36573
  trade_item_id: string;
34000
36574
  };
34001
36575
  Update: {
@@ -34003,6 +36577,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34003
36577
  id?: string;
34004
36578
  product_group_id?: string;
34005
36579
  quantity?: number;
36580
+ sort_order?: number;
34006
36581
  trade_item_id?: string;
34007
36582
  };
34008
36583
  Relationships: [{
@@ -34017,6 +36592,8 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34017
36592
  Row: {
34018
36593
  created_at: string;
34019
36594
  description: string | null;
36595
+ head_product_id: string | null;
36596
+ head_trade_item_floriday_id: string | null;
34020
36597
  id: string;
34021
36598
  is_active: boolean;
34022
36599
  name: string;
@@ -34026,6 +36603,8 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34026
36603
  Insert: {
34027
36604
  created_at?: string;
34028
36605
  description?: string | null;
36606
+ head_product_id?: string | null;
36607
+ head_trade_item_floriday_id?: string | null;
34029
36608
  id?: string;
34030
36609
  is_active?: boolean;
34031
36610
  name: string;
@@ -34035,24 +36614,134 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34035
36614
  Update: {
34036
36615
  created_at?: string;
34037
36616
  description?: string | null;
36617
+ head_product_id?: string | null;
36618
+ head_trade_item_floriday_id?: string | null;
34038
36619
  id?: string;
34039
36620
  is_active?: boolean;
34040
36621
  name?: string;
34041
36622
  tenant_id?: string;
34042
36623
  updated_at?: string;
34043
36624
  };
36625
+ Relationships: [{
36626
+ foreignKeyName: "product_groups_head_product_id_fkey";
36627
+ columns: ["head_product_id"];
36628
+ isOneToOne: false;
36629
+ referencedRelation: "products";
36630
+ referencedColumns: ["id"];
36631
+ }];
36632
+ };
36633
+ product_load_settings: {
36634
+ Row: {
36635
+ created_at: string;
36636
+ id: string;
36637
+ is_package: boolean;
36638
+ label: string | null;
36639
+ layers_per_load_carrier: number | null;
36640
+ load_carrier: string | null;
36641
+ package_id: string | null;
36642
+ package_label: string | null;
36643
+ packages_per_layer: number | null;
36644
+ packing_configuration_id: string;
36645
+ product_id: string | null;
36646
+ tenant_id: string;
36647
+ trade_item_floriday_id: string | null;
36648
+ units_per_package: number | null;
36649
+ updated_at: string;
36650
+ };
36651
+ Insert: {
36652
+ created_at?: string;
36653
+ id?: string;
36654
+ is_package?: boolean;
36655
+ label?: string | null;
36656
+ layers_per_load_carrier?: number | null;
36657
+ load_carrier?: string | null;
36658
+ package_id?: string | null;
36659
+ package_label?: string | null;
36660
+ packages_per_layer?: number | null;
36661
+ packing_configuration_id?: string;
36662
+ product_id?: string | null;
36663
+ tenant_id: string;
36664
+ trade_item_floriday_id?: string | null;
36665
+ units_per_package?: number | null;
36666
+ updated_at?: string;
36667
+ };
36668
+ Update: {
36669
+ created_at?: string;
36670
+ id?: string;
36671
+ is_package?: boolean;
36672
+ label?: string | null;
36673
+ layers_per_load_carrier?: number | null;
36674
+ load_carrier?: string | null;
36675
+ package_id?: string | null;
36676
+ package_label?: string | null;
36677
+ packages_per_layer?: number | null;
36678
+ packing_configuration_id?: string;
36679
+ product_id?: string | null;
36680
+ tenant_id?: string;
36681
+ trade_item_floriday_id?: string | null;
36682
+ units_per_package?: number | null;
36683
+ updated_at?: string;
36684
+ };
36685
+ Relationships: [{
36686
+ foreignKeyName: "product_load_settings_package_id_fkey";
36687
+ columns: ["package_id"];
36688
+ isOneToOne: false;
36689
+ referencedRelation: "packages";
36690
+ referencedColumns: ["id"];
36691
+ }, {
36692
+ foreignKeyName: "product_load_settings_product_id_fkey";
36693
+ columns: ["product_id"];
36694
+ isOneToOne: false;
36695
+ referencedRelation: "products";
36696
+ referencedColumns: ["id"];
36697
+ }];
36698
+ };
36699
+ product_merge_log: {
36700
+ Row: {
36701
+ canonical_product_id: string | null;
36702
+ id: string;
36703
+ merged_at: string;
36704
+ merged_from_id: string;
36705
+ notes: string | null;
36706
+ snapshot: import("../integrations/supabase/types").Json;
36707
+ source_table: string;
36708
+ status: string;
36709
+ };
36710
+ Insert: {
36711
+ canonical_product_id?: string | null;
36712
+ id?: string;
36713
+ merged_at?: string;
36714
+ merged_from_id: string;
36715
+ notes?: string | null;
36716
+ snapshot?: import("../integrations/supabase/types").Json;
36717
+ source_table: string;
36718
+ status?: string;
36719
+ };
36720
+ Update: {
36721
+ canonical_product_id?: string | null;
36722
+ id?: string;
36723
+ merged_at?: string;
36724
+ merged_from_id?: string;
36725
+ notes?: string | null;
36726
+ snapshot?: import("../integrations/supabase/types").Json;
36727
+ source_table?: string;
36728
+ status?: string;
36729
+ };
34044
36730
  Relationships: [];
34045
36731
  };
34046
36732
  products: {
34047
36733
  Row: {
36734
+ article_number: string | null;
34048
36735
  barcode: string | null;
34049
36736
  batch: string;
34050
36737
  crates_per_layer: number;
34051
36738
  created_at: string;
34052
36739
  custom_fields: import("../integrations/supabase/types").Json;
36740
+ floriday_trade_item_id: string | null;
34053
36741
  id: string;
34054
36742
  image_url: string | null;
34055
36743
  incoming_quantity: number;
36744
+ is_layer: boolean;
34056
36745
  layers_per_cart: number;
34057
36746
  location: string;
34058
36747
  min_quantity: number;
@@ -34068,14 +36757,17 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34068
36757
  weight: string | null;
34069
36758
  };
34070
36759
  Insert: {
36760
+ article_number?: string | null;
34071
36761
  barcode?: string | null;
34072
36762
  batch: string;
34073
36763
  crates_per_layer?: number;
34074
36764
  created_at?: string;
34075
36765
  custom_fields?: import("../integrations/supabase/types").Json;
36766
+ floriday_trade_item_id?: string | null;
34076
36767
  id?: string;
34077
36768
  image_url?: string | null;
34078
36769
  incoming_quantity?: number;
36770
+ is_layer?: boolean;
34079
36771
  layers_per_cart?: number;
34080
36772
  location: string;
34081
36773
  min_quantity?: number;
@@ -34091,14 +36783,17 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34091
36783
  weight?: string | null;
34092
36784
  };
34093
36785
  Update: {
36786
+ article_number?: string | null;
34094
36787
  barcode?: string | null;
34095
36788
  batch?: string;
34096
36789
  crates_per_layer?: number;
34097
36790
  created_at?: string;
34098
36791
  custom_fields?: import("../integrations/supabase/types").Json;
36792
+ floriday_trade_item_id?: string | null;
34099
36793
  id?: string;
34100
36794
  image_url?: string | null;
34101
36795
  incoming_quantity?: number;
36796
+ is_layer?: boolean;
34102
36797
  layers_per_cart?: number;
34103
36798
  location?: string;
34104
36799
  min_quantity?: number;
@@ -34118,6 +36813,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34118
36813
  profiles: {
34119
36814
  Row: {
34120
36815
  address: string | null;
36816
+ avatar_url: string | null;
34121
36817
  created_at: string;
34122
36818
  display_name: string | null;
34123
36819
  email: string | null;
@@ -34129,6 +36825,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34129
36825
  };
34130
36826
  Insert: {
34131
36827
  address?: string | null;
36828
+ avatar_url?: string | null;
34132
36829
  created_at?: string;
34133
36830
  display_name?: string | null;
34134
36831
  email?: string | null;
@@ -34140,6 +36837,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
34140
36837
  };
34141
36838
  Update: {
34142
36839
  address?: string | null;
36840
+ avatar_url?: string | null;
34143
36841
  created_at?: string;
34144
36842
  display_name?: string | null;
34145
36843
  email?: string | null;
@@ -35006,6 +37704,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
35006
37704
  order_source: string | null;
35007
37705
  physical_after: number | null;
35008
37706
  physical_before: number | null;
37707
+ production_batch_id: string | null;
35009
37708
  qty_delta: number;
35010
37709
  reason: string | null;
35011
37710
  reserved_after: number | null;
@@ -35023,6 +37722,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
35023
37722
  order_source?: string | null;
35024
37723
  physical_after?: number | null;
35025
37724
  physical_before?: number | null;
37725
+ production_batch_id?: string | null;
35026
37726
  qty_delta: number;
35027
37727
  reason?: string | null;
35028
37728
  reserved_after?: number | null;
@@ -35040,6 +37740,7 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
35040
37740
  order_source?: string | null;
35041
37741
  physical_after?: number | null;
35042
37742
  physical_before?: number | null;
37743
+ production_batch_id?: string | null;
35043
37744
  qty_delta?: number;
35044
37745
  reason?: string | null;
35045
37746
  reserved_after?: number | null;
@@ -35366,6 +38067,48 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
35366
38067
  };
35367
38068
  Relationships: [];
35368
38069
  };
38070
+ trade_item_prices: {
38071
+ Row: {
38072
+ created_at: string;
38073
+ currency: string;
38074
+ id: string;
38075
+ last_push_error: string | null;
38076
+ last_pushed_at: string | null;
38077
+ price_group_id: string | null;
38078
+ price_per_piece: number;
38079
+ supply_line_id: string | null;
38080
+ trade_item_key: string;
38081
+ updated_at: string;
38082
+ user_id: string;
38083
+ };
38084
+ Insert: {
38085
+ created_at?: string;
38086
+ currency?: string;
38087
+ id?: string;
38088
+ last_push_error?: string | null;
38089
+ last_pushed_at?: string | null;
38090
+ price_group_id?: string | null;
38091
+ price_per_piece: number;
38092
+ supply_line_id?: string | null;
38093
+ trade_item_key: string;
38094
+ updated_at?: string;
38095
+ user_id: string;
38096
+ };
38097
+ Update: {
38098
+ created_at?: string;
38099
+ currency?: string;
38100
+ id?: string;
38101
+ last_push_error?: string | null;
38102
+ last_pushed_at?: string | null;
38103
+ price_group_id?: string | null;
38104
+ price_per_piece?: number;
38105
+ supply_line_id?: string | null;
38106
+ trade_item_key?: string;
38107
+ updated_at?: string;
38108
+ user_id?: string;
38109
+ };
38110
+ Relationships: [];
38111
+ };
35369
38112
  trade_item_stock: {
35370
38113
  Row: {
35371
38114
  connection_id: string;
@@ -35831,6 +38574,51 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
35831
38574
  referencedColumns: ["id"];
35832
38575
  }];
35833
38576
  };
38577
+ twinfield_invoice_pdf_cache: {
38578
+ Row: {
38579
+ connection_id: string;
38580
+ created_at: string;
38581
+ fetched_at: string;
38582
+ id: string;
38583
+ invoice_number: string;
38584
+ last_accessed_at: string;
38585
+ object_path: string;
38586
+ office_code: string;
38587
+ size_bytes: number;
38588
+ updated_at: string;
38589
+ };
38590
+ Insert: {
38591
+ connection_id: string;
38592
+ created_at?: string;
38593
+ fetched_at?: string;
38594
+ id?: string;
38595
+ invoice_number: string;
38596
+ last_accessed_at?: string;
38597
+ object_path: string;
38598
+ office_code: string;
38599
+ size_bytes?: number;
38600
+ updated_at?: string;
38601
+ };
38602
+ Update: {
38603
+ connection_id?: string;
38604
+ created_at?: string;
38605
+ fetched_at?: string;
38606
+ id?: string;
38607
+ invoice_number?: string;
38608
+ last_accessed_at?: string;
38609
+ object_path?: string;
38610
+ office_code?: string;
38611
+ size_bytes?: number;
38612
+ updated_at?: string;
38613
+ };
38614
+ Relationships: [{
38615
+ foreignKeyName: "twinfield_invoice_pdf_cache_connection_id_fkey";
38616
+ columns: ["connection_id"];
38617
+ isOneToOne: false;
38618
+ referencedRelation: "twinfield_connections";
38619
+ referencedColumns: ["id"];
38620
+ }];
38621
+ };
35834
38622
  twinfield_invoice_settings: {
35835
38623
  Row: {
35836
38624
  created_at: string;
@@ -36434,6 +39222,78 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
36434
39222
  };
36435
39223
  Relationships: [];
36436
39224
  };
39225
+ werkbon_package_ai_rules: {
39226
+ Row: {
39227
+ active: boolean;
39228
+ case_sensitive: boolean;
39229
+ created_at: string;
39230
+ id: string;
39231
+ package_id: string;
39232
+ priority: number;
39233
+ rule_type: string;
39234
+ updated_at: string;
39235
+ value: string;
39236
+ };
39237
+ Insert: {
39238
+ active?: boolean;
39239
+ case_sensitive?: boolean;
39240
+ created_at?: string;
39241
+ id?: string;
39242
+ package_id: string;
39243
+ priority?: number;
39244
+ rule_type: string;
39245
+ updated_at?: string;
39246
+ value: string;
39247
+ };
39248
+ Update: {
39249
+ active?: boolean;
39250
+ case_sensitive?: boolean;
39251
+ created_at?: string;
39252
+ id?: string;
39253
+ package_id?: string;
39254
+ priority?: number;
39255
+ rule_type?: string;
39256
+ updated_at?: string;
39257
+ value?: string;
39258
+ };
39259
+ Relationships: [{
39260
+ foreignKeyName: "werkbon_package_ai_rules_package_id_fkey";
39261
+ columns: ["package_id"];
39262
+ isOneToOne: false;
39263
+ referencedRelation: "werkbon_packages";
39264
+ referencedColumns: ["id"];
39265
+ }];
39266
+ };
39267
+ werkbon_package_categories: {
39268
+ Row: {
39269
+ active: boolean;
39270
+ created_at: string;
39271
+ id: string;
39272
+ kleur: string | null;
39273
+ naam: string;
39274
+ sort_order: number;
39275
+ updated_at: string;
39276
+ };
39277
+ Insert: {
39278
+ active?: boolean;
39279
+ created_at?: string;
39280
+ id?: string;
39281
+ kleur?: string | null;
39282
+ naam: string;
39283
+ sort_order?: number;
39284
+ updated_at?: string;
39285
+ };
39286
+ Update: {
39287
+ active?: boolean;
39288
+ created_at?: string;
39289
+ id?: string;
39290
+ kleur?: string | null;
39291
+ naam?: string;
39292
+ sort_order?: number;
39293
+ updated_at?: string;
39294
+ };
39295
+ Relationships: [];
39296
+ };
36437
39297
  werkbon_package_lines: {
36438
39298
  Row: {
36439
39299
  created_at: string;
@@ -36479,38 +39339,59 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
36479
39339
  werkbon_packages: {
36480
39340
  Row: {
36481
39341
  active: boolean;
39342
+ ai_tags: string[];
39343
+ category_id: string | null;
36482
39344
  code: string;
36483
39345
  created_at: string;
36484
39346
  default_quantity: number;
36485
39347
  description: string | null;
39348
+ duration_minutes: number | null;
36486
39349
  id: string;
39350
+ mandaat_type: string | null;
36487
39351
  name: string;
39352
+ sort_order: number;
36488
39353
  unit_price_cents: number;
36489
39354
  updated_at: string;
36490
39355
  };
36491
39356
  Insert: {
36492
39357
  active?: boolean;
39358
+ ai_tags?: string[];
39359
+ category_id?: string | null;
36493
39360
  code: string;
36494
39361
  created_at?: string;
36495
39362
  default_quantity?: number;
36496
39363
  description?: string | null;
39364
+ duration_minutes?: number | null;
36497
39365
  id?: string;
39366
+ mandaat_type?: string | null;
36498
39367
  name: string;
39368
+ sort_order?: number;
36499
39369
  unit_price_cents?: number;
36500
39370
  updated_at?: string;
36501
39371
  };
36502
39372
  Update: {
36503
39373
  active?: boolean;
39374
+ ai_tags?: string[];
39375
+ category_id?: string | null;
36504
39376
  code?: string;
36505
39377
  created_at?: string;
36506
39378
  default_quantity?: number;
36507
39379
  description?: string | null;
39380
+ duration_minutes?: number | null;
36508
39381
  id?: string;
39382
+ mandaat_type?: string | null;
36509
39383
  name?: string;
39384
+ sort_order?: number;
36510
39385
  unit_price_cents?: number;
36511
39386
  updated_at?: string;
36512
39387
  };
36513
- Relationships: [];
39388
+ Relationships: [{
39389
+ foreignKeyName: "werkbon_packages_category_id_fkey";
39390
+ columns: ["category_id"];
39391
+ isOneToOne: false;
39392
+ referencedRelation: "werkbon_package_categories";
39393
+ referencedColumns: ["id"];
39394
+ }];
36514
39395
  };
36515
39396
  werkbon_photos: {
36516
39397
  Row: {
@@ -36598,7 +39479,10 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
36598
39479
  scheduled_end_time: string | null;
36599
39480
  scheduled_start_time: string | null;
36600
39481
  sequence_number: number;
39482
+ source_email_meta: import("../integrations/supabase/types").Json | null;
39483
+ source_mailbox_message_id: string | null;
36601
39484
  source_pdf_path: string | null;
39485
+ source_type: string;
36602
39486
  status: string;
36603
39487
  technician_id: string | null;
36604
39488
  technician_notes: string | null;
@@ -36627,7 +39511,10 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
36627
39511
  scheduled_end_time?: string | null;
36628
39512
  scheduled_start_time?: string | null;
36629
39513
  sequence_number: number;
39514
+ source_email_meta?: import("../integrations/supabase/types").Json | null;
39515
+ source_mailbox_message_id?: string | null;
36630
39516
  source_pdf_path?: string | null;
39517
+ source_type?: string;
36631
39518
  status?: string;
36632
39519
  technician_id?: string | null;
36633
39520
  technician_notes?: string | null;
@@ -36656,7 +39543,10 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
36656
39543
  scheduled_end_time?: string | null;
36657
39544
  scheduled_start_time?: string | null;
36658
39545
  sequence_number?: number;
39546
+ source_email_meta?: import("../integrations/supabase/types").Json | null;
39547
+ source_mailbox_message_id?: string | null;
36659
39548
  source_pdf_path?: string | null;
39549
+ source_type?: string;
36660
39550
  status?: string;
36661
39551
  technician_id?: string | null;
36662
39552
  technician_notes?: string | null;
@@ -36673,10 +39563,10 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
36673
39563
  referencedRelation: "werkbonnen";
36674
39564
  referencedColumns: ["id"];
36675
39565
  }, {
36676
- foreignKeyName: "werkbonnen_technician_id_fkey";
36677
- columns: ["technician_id"];
39566
+ foreignKeyName: "werkbonnen_source_mailbox_message_id_fkey";
39567
+ columns: ["source_mailbox_message_id"];
36678
39568
  isOneToOne: false;
36679
- referencedRelation: "monteurs";
39569
+ referencedRelation: "mailbox_messages";
36680
39570
  referencedColumns: ["id"];
36681
39571
  }];
36682
39572
  };
@@ -37370,6 +40260,13 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37370
40260
  };
37371
40261
  Returns: number;
37372
40262
  };
40263
+ _migrate_rewrite_stock_key: {
40264
+ Args: {
40265
+ _from_key: string;
40266
+ _to_key: string;
40267
+ };
40268
+ Returns: undefined;
40269
+ };
37373
40270
  afh_city_code: {
37374
40271
  Args: {
37375
40272
  _city: string;
@@ -37396,6 +40293,21 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37396
40293
  };
37397
40294
  Returns: string;
37398
40295
  };
40296
+ ai_usage_by_module: {
40297
+ Args: {
40298
+ _from: string;
40299
+ _to: string;
40300
+ };
40301
+ Returns: {
40302
+ calls: number;
40303
+ consumer_module_id: string;
40304
+ cost_usd: number;
40305
+ errors: number;
40306
+ input_tokens: number;
40307
+ output_tokens: number;
40308
+ total_tokens: number;
40309
+ }[];
40310
+ };
37399
40311
  apply_stock_consumption: {
37400
40312
  Args: {
37401
40313
  p_order_id: string;
@@ -37453,6 +40365,12 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37453
40365
  processed_items: number;
37454
40366
  }[];
37455
40367
  };
40368
+ calculate_layer_stock: {
40369
+ Args: {
40370
+ p_product_id: string;
40371
+ };
40372
+ Returns: number;
40373
+ };
37456
40374
  call_exact_route: {
37457
40375
  Args: {
37458
40376
  path: string;
@@ -37512,6 +40430,28 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37512
40430
  Args: never;
37513
40431
  Returns: undefined;
37514
40432
  };
40433
+ consume_bom_for_production: {
40434
+ Args: {
40435
+ p_connection_id: string;
40436
+ p_parent_id: string;
40437
+ p_parent_key: string;
40438
+ p_parent_kind: string;
40439
+ p_quantity: number;
40440
+ p_user_id: string;
40441
+ };
40442
+ Returns: import("../integrations/supabase/types").Json;
40443
+ } | {
40444
+ Args: {
40445
+ p_batch_id?: string;
40446
+ p_connection_id: string;
40447
+ p_parent_id: string;
40448
+ p_parent_key: string;
40449
+ p_parent_kind: string;
40450
+ p_quantity: number;
40451
+ p_user_id: string;
40452
+ };
40453
+ Returns: import("../integrations/supabase/types").Json;
40454
+ };
37515
40455
  consume_floriday_rate_limit: {
37516
40456
  Args: {
37517
40457
  p_bucket: string;
@@ -37544,6 +40484,12 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37544
40484
  Args: never;
37545
40485
  Returns: string;
37546
40486
  };
40487
+ custom_access_token_hook: {
40488
+ Args: {
40489
+ event: import("../integrations/supabase/types").Json;
40490
+ };
40491
+ Returns: import("../integrations/supabase/types").Json;
40492
+ };
37547
40493
  dashboard_alert_counts: {
37548
40494
  Args: never;
37549
40495
  Returns: import("../integrations/supabase/types").Json;
@@ -37563,6 +40509,13 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37563
40509
  table_name: string;
37564
40510
  }[];
37565
40511
  };
40512
+ delete_samenstelling: {
40513
+ Args: {
40514
+ p_parent_id: string;
40515
+ p_parent_kind: string;
40516
+ };
40517
+ Returns: import("../integrations/supabase/types").Json;
40518
+ };
37566
40519
  dispatch_carrier_signups_sql: {
37567
40520
  Args: {
37568
40521
  _catchup?: string;
@@ -37818,6 +40771,27 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37818
40771
  minutes_since_success: number;
37819
40772
  }[];
37820
40773
  };
40774
+ get_group_allocation_keys: {
40775
+ Args: {
40776
+ p_product_id: string;
40777
+ };
40778
+ Returns: {
40779
+ k: string;
40780
+ ord: number;
40781
+ }[];
40782
+ };
40783
+ get_group_head_key: {
40784
+ Args: {
40785
+ p_group_id: string;
40786
+ };
40787
+ Returns: string;
40788
+ };
40789
+ get_inventory_stock_for_key: {
40790
+ Args: {
40791
+ p_key: string;
40792
+ };
40793
+ Returns: number;
40794
+ };
37821
40795
  get_offer_by_link_code: {
37822
40796
  Args: {
37823
40797
  p_code: string;
@@ -37848,6 +40822,12 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37848
40822
  };
37849
40823
  Returns: string;
37850
40824
  };
40825
+ get_product_group_available_stock: {
40826
+ Args: {
40827
+ p_group_id: string;
40828
+ };
40829
+ Returns: number;
40830
+ };
37851
40831
  get_room_busy_windows: {
37852
40832
  Args: {
37853
40833
  p_from: string;
@@ -37912,12 +40892,35 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37912
40892
  };
37913
40893
  Returns: boolean;
37914
40894
  };
40895
+ jwt_has_role: {
40896
+ Args: {
40897
+ _role: import("../integrations/supabase/types").Database["public"]["Enums"]["app_role"];
40898
+ };
40899
+ Returns: boolean;
40900
+ };
37915
40901
  list_monteurs: {
37916
40902
  Args: never;
37917
40903
  Returns: {
40904
+ avatar_url: string;
37918
40905
  display_name: string;
37919
40906
  email: string;
37920
- user_id: string;
40907
+ id: string;
40908
+ }[];
40909
+ };
40910
+ list_my_planning_items: {
40911
+ Args: {
40912
+ _from: string;
40913
+ _to: string;
40914
+ };
40915
+ Returns: {
40916
+ assigned_monteur_id: string;
40917
+ end_at: string;
40918
+ id: string;
40919
+ notes: string;
40920
+ role: string;
40921
+ start_at: string;
40922
+ status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
40923
+ werkbon_id: string;
37921
40924
  }[];
37922
40925
  };
37923
40926
  local_effective_price: {
@@ -37936,6 +40939,22 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37936
40939
  source_id: string;
37937
40940
  }[];
37938
40941
  };
40942
+ log_ai_call: {
40943
+ Args: {
40944
+ _consumer_module_id: string;
40945
+ _cost_usd: number;
40946
+ _duration_ms: number;
40947
+ _error_code: string;
40948
+ _error_message: string;
40949
+ _input_tokens: number;
40950
+ _model_slug: string;
40951
+ _output_tokens: number;
40952
+ _provider_slug: string;
40953
+ _status: string;
40954
+ _total_tokens: number;
40955
+ };
40956
+ Returns: string;
40957
+ };
37939
40958
  mark_offer_clicked: {
37940
40959
  Args: {
37941
40960
  p_code: string;
@@ -37948,12 +40967,32 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
37948
40967
  };
37949
40968
  Returns: undefined;
37950
40969
  };
40970
+ mark_salesorder_controlled: {
40971
+ Args: {
40972
+ p_controlled: boolean;
40973
+ p_floriday_id: string;
40974
+ };
40975
+ Returns: undefined;
40976
+ };
37951
40977
  mark_shipment_shipped: {
37952
40978
  Args: {
37953
40979
  p_shipment_id: string;
37954
40980
  };
37955
40981
  Returns: undefined;
37956
40982
  };
40983
+ merge_products: {
40984
+ Args: {
40985
+ _canonical: string;
40986
+ _loser: string;
40987
+ };
40988
+ Returns: undefined;
40989
+ };
40990
+ next_manufacture_partij: {
40991
+ Args: {
40992
+ _tenant_id: string;
40993
+ };
40994
+ Returns: string;
40995
+ };
37957
40996
  next_order_number: {
37958
40997
  Args: {
37959
40998
  p_prefix: string;
@@ -38027,6 +41066,15 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
38027
41066
  };
38028
41067
  Returns: undefined;
38029
41068
  };
41069
+ pickstation_resolve_delivery_orders: {
41070
+ Args: {
41071
+ p_sales_order_ids: string[];
41072
+ };
41073
+ Returns: {
41074
+ delivery_order_id: string;
41075
+ sales_order_id: string;
41076
+ }[];
41077
+ };
38030
41078
  pickstation_set_cart_status: {
38031
41079
  Args: {
38032
41080
  p_cart_index: number;
@@ -38036,6 +41084,14 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
38036
41084
  };
38037
41085
  Returns: undefined;
38038
41086
  };
41087
+ produce_designed_product: {
41088
+ Args: {
41089
+ p_parent_id: string;
41090
+ p_parent_kind: string;
41091
+ p_quantity: number;
41092
+ };
41093
+ Returns: import("../integrations/supabase/types").Json;
41094
+ };
38039
41095
  promote_trade_item_key: {
38040
41096
  Args: {
38041
41097
  p_new: string;
@@ -38043,6 +41099,10 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
38043
41099
  };
38044
41100
  Returns: undefined;
38045
41101
  };
41102
+ recompute_all_reserved_stock: {
41103
+ Args: never;
41104
+ Returns: undefined;
41105
+ };
38046
41106
  recompute_order_status: {
38047
41107
  Args: {
38048
41108
  p_order_id: string;
@@ -38098,18 +41158,50 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
38098
41158
  };
38099
41159
  Returns: undefined;
38100
41160
  };
41161
+ resolve_group_allocation: {
41162
+ Args: {
41163
+ _needed: number;
41164
+ _product_group_id: string;
41165
+ };
41166
+ Returns: {
41167
+ allocated: number;
41168
+ trade_item_id: string;
41169
+ }[];
41170
+ };
41171
+ resolve_group_member_stock_key: {
41172
+ Args: {
41173
+ p_trade_item_id: string;
41174
+ };
41175
+ Returns: string;
41176
+ };
38101
41177
  resolve_product_id_for_item: {
38102
41178
  Args: {
38103
41179
  p_product_name: string;
38104
41180
  };
38105
41181
  Returns: string;
38106
41182
  };
41183
+ resolve_stock_trade_item_key: {
41184
+ Args: {
41185
+ p_product_id: string;
41186
+ };
41187
+ Returns: string;
41188
+ };
38107
41189
  retry_twinfield_push: {
38108
41190
  Args: {
38109
41191
  _customer_id: string;
38110
41192
  };
38111
41193
  Returns: number;
38112
41194
  };
41195
+ reverse_production: {
41196
+ Args: {
41197
+ p_connection_id?: string;
41198
+ p_parent_key: string;
41199
+ p_quantity: number;
41200
+ p_reason?: string;
41201
+ p_user_id?: string;
41202
+ };
41203
+ Returns: import("../integrations/supabase/types").Json;
41204
+ };
38113
41205
  schedule_floriday_additional_services_sync: {
38114
41206
  Args: {
38115
41207
  p_apikey: string;
@@ -38377,6 +41469,17 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
38377
41469
  };
38378
41470
  Returns: number;
38379
41471
  };
41472
+ self_heal_floriday_links: {
41473
+ Args: never;
41474
+ Returns: number;
41475
+ };
41476
+ set_planning_status: {
41477
+ Args: {
41478
+ _id: string;
41479
+ _status: import("../integrations/supabase/types").Database["public"]["Enums"]["planning_item_status"];
41480
+ };
41481
+ Returns: undefined;
41482
+ };
38380
41483
  show_limit: {
38381
41484
  Args: never;
38382
41485
  Returns: number;
@@ -38387,18 +41490,34 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
38387
41490
  };
38388
41491
  Returns: string[];
38389
41492
  };
41493
+ sync_all_layer_stocks: {
41494
+ Args: never;
41495
+ Returns: undefined;
41496
+ };
38390
41497
  sync_cached_packing_from_product: {
38391
41498
  Args: {
38392
41499
  p_product_id: string;
38393
41500
  };
38394
41501
  Returns: undefined;
38395
41502
  };
41503
+ sync_layer_stock: {
41504
+ Args: {
41505
+ p_product_id: string;
41506
+ };
41507
+ Returns: undefined;
41508
+ };
38396
41509
  sync_order_cart_item_packing_from_product: {
38397
41510
  Args: {
38398
41511
  p_product_id: string;
38399
41512
  };
38400
41513
  Returns: undefined;
38401
41514
  };
41515
+ sync_product_group_belading: {
41516
+ Args: {
41517
+ _group_id: string;
41518
+ };
41519
+ Returns: undefined;
41520
+ };
38402
41521
  sync_product_packing_from_floriday_cache: {
38403
41522
  Args: {
38404
41523
  p_floriday_id: string;
@@ -38430,11 +41549,12 @@ export declare const replanBufferForOrder: import("@tanstack/start-client-core")
38430
41549
  };
38431
41550
  };
38432
41551
  Enums: {
38433
- app_role: "admin" | "planner" | "monteur" | "administratie";
41552
+ app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin";
38434
41553
  exact_env: "staging" | "live";
38435
41554
  exact_push_status: "pending" | "sent" | "error";
38436
41555
  itk_customer_segment: "Business" | "Private";
38437
41556
  itk_dynamic_field_type: "text" | "select" | "date" | "checkbox";
41557
+ planning_item_status: "gepland" | "bezig" | "afgerond" | "geannuleerd" | "concept" | "vrijgegeven";
38438
41558
  quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
38439
41559
  };
38440
41560
  CompositeTypes: { [_ in never]: never; };