@flowselections/floriday-klanten-module 1.0.14 → 1.0.16

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 (101) hide show
  1. package/dist-lib/assets/floriday-logo.png.asset.json +11 -0
  2. package/dist-lib/components/CustomerAvatar.js +1 -1
  3. package/dist-lib/components/klanten/BackLink.d.ts +12 -0
  4. package/dist-lib/components/klanten/BackLink.d.ts.map +1 -0
  5. package/dist-lib/components/klanten/BackLink.js +12 -0
  6. package/dist-lib/components/klanten/FloridayAssortmentTab.d.ts +4 -0
  7. package/dist-lib/components/klanten/FloridayAssortmentTab.d.ts.map +1 -0
  8. package/dist-lib/components/klanten/FloridayAssortmentTab.js +80 -0
  9. package/dist-lib/components/klanten/FloridayDeeplinkButton.d.ts +8 -0
  10. package/dist-lib/components/klanten/FloridayDeeplinkButton.d.ts.map +1 -0
  11. package/dist-lib/components/klanten/FloridayDeeplinkButton.js +9 -0
  12. package/dist-lib/components/klanten/GroupedKlantDetail.d.ts.map +1 -1
  13. package/dist-lib/components/klanten/GroupedKlantDetail.js +19 -5
  14. package/dist-lib/components/klanten/ImportKlanten.d.ts.map +1 -1
  15. package/dist-lib/components/klanten/ImportKlanten.js +46 -13
  16. package/dist-lib/components/klanten/KlantDetail.d.ts.map +1 -1
  17. package/dist-lib/components/klanten/KlantDetail.js +9 -3
  18. package/dist-lib/components/klanten/KlantenOverzicht.d.ts.map +1 -1
  19. package/dist-lib/components/klanten/KlantenOverzicht.js +6 -3
  20. package/dist-lib/components/klanten/NetwerkPagina.d.ts.map +1 -1
  21. package/dist-lib/components/klanten/NetwerkPagina.js +42 -10
  22. package/dist-lib/components/klanten/NieuweKlant.d.ts.map +1 -1
  23. package/dist-lib/components/klanten/NieuweKlant.js +23 -8
  24. package/dist-lib/components/klanten/PriceGroupBadges.d.ts +7 -0
  25. package/dist-lib/components/klanten/PriceGroupBadges.d.ts.map +1 -0
  26. package/dist-lib/components/klanten/PriceGroupBadges.js +13 -0
  27. package/dist-lib/components/klanten/SyncStatusChip.d.ts +4 -0
  28. package/dist-lib/components/klanten/SyncStatusChip.d.ts.map +1 -0
  29. package/dist-lib/components/klanten/SyncStatusChip.js +49 -0
  30. package/dist-lib/components/klanten/pricegroups/CustomerPickerDialog.d.ts +8 -0
  31. package/dist-lib/components/klanten/pricegroups/CustomerPickerDialog.d.ts.map +1 -0
  32. package/dist-lib/components/klanten/pricegroups/CustomerPickerDialog.js +75 -0
  33. package/dist-lib/components/klanten/pricegroups/PriceGroupFormPage.d.ts +4 -0
  34. package/dist-lib/components/klanten/pricegroups/PriceGroupFormPage.d.ts.map +1 -0
  35. package/dist-lib/components/klanten/pricegroups/PriceGroupFormPage.js +269 -0
  36. package/dist-lib/components/klanten/pricegroups/PriceGroupsPage.d.ts +2 -0
  37. package/dist-lib/components/klanten/pricegroups/PriceGroupsPage.d.ts.map +1 -0
  38. package/dist-lib/components/klanten/pricegroups/PriceGroupsPage.js +133 -0
  39. package/dist-lib/components/klanten/pricegroups/ProductPickerDialog.d.ts +8 -0
  40. package/dist-lib/components/klanten/pricegroups/ProductPickerDialog.d.ts.map +1 -0
  41. package/dist-lib/components/klanten/pricegroups/ProductPickerDialog.js +18 -0
  42. package/dist-lib/index.d.ts +1 -0
  43. package/dist-lib/index.d.ts.map +1 -1
  44. package/dist-lib/index.js +6 -1
  45. package/dist-lib/integrations/supabase/auth-middleware.d.ts +762 -3
  46. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  47. package/dist-lib/integrations/supabase/client.d.ts +762 -3
  48. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  49. package/dist-lib/integrations/supabase/client.js +4 -3
  50. package/dist-lib/integrations/supabase/client.server.d.ts +762 -3
  51. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  52. package/dist-lib/integrations/supabase/types.d.ts +789 -8
  53. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  54. package/dist-lib/lib/accounting/twinfield/client.server.d.ts +21 -0
  55. package/dist-lib/lib/accounting/twinfield/client.server.d.ts.map +1 -0
  56. package/dist-lib/lib/accounting/twinfield/client.server.js +171 -0
  57. package/dist-lib/lib/accounting/twinfield/mapping.d.ts +46 -0
  58. package/dist-lib/lib/accounting/twinfield/mapping.d.ts.map +1 -0
  59. package/dist-lib/lib/accounting/twinfield/mapping.js +109 -0
  60. package/dist-lib/lib/accounting/twinfield/worker.functions.d.ts +36318 -0
  61. package/dist-lib/lib/accounting/twinfield/worker.functions.d.ts.map +1 -0
  62. package/dist-lib/lib/accounting/twinfield/worker.functions.js +48 -0
  63. package/dist-lib/lib/accounting/twinfield/worker.server.d.ts +12 -0
  64. package/dist-lib/lib/accounting/twinfield/worker.server.d.ts.map +1 -0
  65. package/dist-lib/lib/accounting/twinfield/worker.server.js +124 -0
  66. package/dist-lib/lib/accounting.functions.d.ts +2286 -9
  67. package/dist-lib/lib/accounting.functions.d.ts.map +1 -1
  68. package/dist-lib/lib/customer-analytics.functions.d.ts +762 -3
  69. package/dist-lib/lib/customer-analytics.functions.d.ts.map +1 -1
  70. package/dist-lib/lib/customer-schemas.d.ts +48 -46
  71. package/dist-lib/lib/customer-schemas.d.ts.map +1 -1
  72. package/dist-lib/lib/customer-schemas.js +46 -3
  73. package/dist-lib/lib/customers.functions.d.ts +18288 -129
  74. package/dist-lib/lib/customers.functions.d.ts.map +1 -1
  75. package/dist-lib/lib/customers.functions.js +146 -10
  76. package/dist-lib/lib/delivery-locations.functions.d.ts +3048 -12
  77. package/dist-lib/lib/delivery-locations.functions.d.ts.map +1 -1
  78. package/dist-lib/lib/external-customers.functions.d.ts +3048 -12
  79. package/dist-lib/lib/external-customers.functions.d.ts.map +1 -1
  80. package/dist-lib/lib/floriday-assortment.functions.d.ts +12127 -0
  81. package/dist-lib/lib/floriday-assortment.functions.d.ts.map +1 -0
  82. package/dist-lib/lib/floriday-assortment.functions.js +213 -0
  83. package/dist-lib/lib/floriday-discounts.functions.d.ts +1800 -282
  84. package/dist-lib/lib/floriday-discounts.functions.d.ts.map +1 -1
  85. package/dist-lib/lib/floriday-trade-items.functions.d.ts +12111 -0
  86. package/dist-lib/lib/floriday-trade-items.functions.d.ts.map +1 -0
  87. package/dist-lib/lib/floriday-trade-items.functions.js +107 -0
  88. package/dist-lib/lib/local-discounts.functions.d.ts +5336 -23
  89. package/dist-lib/lib/local-discounts.functions.d.ts.map +1 -1
  90. package/dist-lib/lib/overdue-invoices.functions.d.ts +762 -3
  91. package/dist-lib/lib/overdue-invoices.functions.d.ts.map +1 -1
  92. package/dist-lib/lib/price-groups-local.functions.d.ts +84841 -0
  93. package/dist-lib/lib/price-groups-local.functions.d.ts.map +1 -0
  94. package/dist-lib/lib/price-groups-local.functions.js +148 -0
  95. package/dist-lib/lib/price-groups.functions.d.ts +12120 -0
  96. package/dist-lib/lib/price-groups.functions.d.ts.map +1 -0
  97. package/dist-lib/lib/price-groups.functions.js +115 -0
  98. package/dist-lib/lib/pricing.d.ts +24 -0
  99. package/dist-lib/lib/pricing.d.ts.map +1 -0
  100. package/dist-lib/lib/pricing.js +60 -0
  101. package/package.json +6 -3
@@ -295,6 +295,237 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
295
295
  };
296
296
  Relationships: [];
297
297
  };
298
+ ai_admin_credentials: {
299
+ Row: {
300
+ active: boolean;
301
+ admin_key: string;
302
+ created_at: string;
303
+ id: string;
304
+ label: string;
305
+ provider_id: string;
306
+ updated_at: string;
307
+ };
308
+ Insert: {
309
+ active?: boolean;
310
+ admin_key: string;
311
+ created_at?: string;
312
+ id?: string;
313
+ label: string;
314
+ provider_id: string;
315
+ updated_at?: string;
316
+ };
317
+ Update: {
318
+ active?: boolean;
319
+ admin_key?: string;
320
+ created_at?: string;
321
+ id?: string;
322
+ label?: string;
323
+ provider_id?: string;
324
+ updated_at?: string;
325
+ };
326
+ Relationships: [{
327
+ foreignKeyName: "ai_admin_credentials_provider_id_fkey";
328
+ columns: ["provider_id"];
329
+ isOneToOne: true;
330
+ referencedRelation: "ai_providers";
331
+ referencedColumns: ["id"];
332
+ }];
333
+ };
334
+ ai_credentials: {
335
+ Row: {
336
+ active: boolean;
337
+ api_key: string;
338
+ created_at: string;
339
+ id: string;
340
+ label: string;
341
+ provider_id: string;
342
+ updated_at: string;
343
+ };
344
+ Insert: {
345
+ active?: boolean;
346
+ api_key: string;
347
+ created_at?: string;
348
+ id?: string;
349
+ label: string;
350
+ provider_id: string;
351
+ updated_at?: string;
352
+ };
353
+ Update: {
354
+ active?: boolean;
355
+ api_key?: string;
356
+ created_at?: string;
357
+ id?: string;
358
+ label?: string;
359
+ provider_id?: string;
360
+ updated_at?: string;
361
+ };
362
+ Relationships: [{
363
+ foreignKeyName: "ai_credentials_provider_id_fkey";
364
+ columns: ["provider_id"];
365
+ isOneToOne: false;
366
+ referencedRelation: "ai_providers";
367
+ referencedColumns: ["id"];
368
+ }];
369
+ };
370
+ ai_model_pricing: {
371
+ Row: {
372
+ created_at: string;
373
+ currency: string;
374
+ fetched_at: string;
375
+ id: string;
376
+ input_per_mtok: number | null;
377
+ model_slug: string;
378
+ output_per_mtok: number | null;
379
+ provider_slug: string;
380
+ source: string;
381
+ updated_at: string;
382
+ };
383
+ Insert: {
384
+ created_at?: string;
385
+ currency?: string;
386
+ fetched_at?: string;
387
+ id?: string;
388
+ input_per_mtok?: number | null;
389
+ model_slug: string;
390
+ output_per_mtok?: number | null;
391
+ provider_slug: string;
392
+ source?: string;
393
+ updated_at?: string;
394
+ };
395
+ Update: {
396
+ created_at?: string;
397
+ currency?: string;
398
+ fetched_at?: string;
399
+ id?: string;
400
+ input_per_mtok?: number | null;
401
+ model_slug?: string;
402
+ output_per_mtok?: number | null;
403
+ provider_slug?: string;
404
+ source?: string;
405
+ updated_at?: string;
406
+ };
407
+ Relationships: [];
408
+ };
409
+ ai_models: {
410
+ Row: {
411
+ active: boolean;
412
+ context_window: number | null;
413
+ created_at: string;
414
+ display_name: string;
415
+ id: string;
416
+ is_default: boolean;
417
+ modality: string;
418
+ provider_id: string;
419
+ slug: string;
420
+ updated_at: string;
421
+ };
422
+ Insert: {
423
+ active?: boolean;
424
+ context_window?: number | null;
425
+ created_at?: string;
426
+ display_name: string;
427
+ id?: string;
428
+ is_default?: boolean;
429
+ modality?: string;
430
+ provider_id: string;
431
+ slug: string;
432
+ updated_at?: string;
433
+ };
434
+ Update: {
435
+ active?: boolean;
436
+ context_window?: number | null;
437
+ created_at?: string;
438
+ display_name?: string;
439
+ id?: string;
440
+ is_default?: boolean;
441
+ modality?: string;
442
+ provider_id?: string;
443
+ slug?: string;
444
+ updated_at?: string;
445
+ };
446
+ Relationships: [{
447
+ foreignKeyName: "ai_models_provider_id_fkey";
448
+ columns: ["provider_id"];
449
+ isOneToOne: false;
450
+ referencedRelation: "ai_providers";
451
+ referencedColumns: ["id"];
452
+ }];
453
+ };
454
+ ai_module_bindings: {
455
+ Row: {
456
+ consumer_module_id: string;
457
+ created_at: string;
458
+ credential_id: string;
459
+ id: string;
460
+ model_id: string;
461
+ notes: string | null;
462
+ updated_at: string;
463
+ };
464
+ Insert: {
465
+ consumer_module_id: string;
466
+ created_at?: string;
467
+ credential_id: string;
468
+ id?: string;
469
+ model_id: string;
470
+ notes?: string | null;
471
+ updated_at?: string;
472
+ };
473
+ Update: {
474
+ consumer_module_id?: string;
475
+ created_at?: string;
476
+ credential_id?: string;
477
+ id?: string;
478
+ model_id?: string;
479
+ notes?: string | null;
480
+ updated_at?: string;
481
+ };
482
+ Relationships: [{
483
+ foreignKeyName: "ai_module_bindings_credential_id_fkey";
484
+ columns: ["credential_id"];
485
+ isOneToOne: false;
486
+ referencedRelation: "ai_credentials";
487
+ referencedColumns: ["id"];
488
+ }, {
489
+ foreignKeyName: "ai_module_bindings_model_id_fkey";
490
+ columns: ["model_id"];
491
+ isOneToOne: false;
492
+ referencedRelation: "ai_models";
493
+ referencedColumns: ["id"];
494
+ }];
495
+ };
496
+ ai_providers: {
497
+ Row: {
498
+ active: boolean;
499
+ auth_type: string;
500
+ base_url: string | null;
501
+ created_at: string;
502
+ id: string;
503
+ name: string;
504
+ slug: string;
505
+ updated_at: string;
506
+ };
507
+ Insert: {
508
+ active?: boolean;
509
+ auth_type?: string;
510
+ base_url?: string | null;
511
+ created_at?: string;
512
+ id?: string;
513
+ name: string;
514
+ slug: string;
515
+ updated_at?: string;
516
+ };
517
+ Update: {
518
+ active?: boolean;
519
+ auth_type?: string;
520
+ base_url?: string | null;
521
+ created_at?: string;
522
+ id?: string;
523
+ name?: string;
524
+ slug?: string;
525
+ updated_at?: string;
526
+ };
527
+ Relationships: [];
528
+ };
298
529
  app_settings: {
299
530
  Row: {
300
531
  created_at: string;
@@ -952,6 +1183,69 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
952
1183
  referencedColumns: ["id"];
953
1184
  }];
954
1185
  };
1186
+ catalog_articles_cache: {
1187
+ Row: {
1188
+ created_at: string;
1189
+ default_price: number;
1190
+ default_vat_rate_ref: string | null;
1191
+ external_ref: string;
1192
+ id: string;
1193
+ name: string;
1194
+ updated_at: string;
1195
+ user_id: string;
1196
+ };
1197
+ Insert: {
1198
+ created_at?: string;
1199
+ default_price?: number;
1200
+ default_vat_rate_ref?: string | null;
1201
+ external_ref: string;
1202
+ id?: string;
1203
+ name: string;
1204
+ updated_at?: string;
1205
+ user_id: string;
1206
+ };
1207
+ Update: {
1208
+ created_at?: string;
1209
+ default_price?: number;
1210
+ default_vat_rate_ref?: string | null;
1211
+ external_ref?: string;
1212
+ id?: string;
1213
+ name?: string;
1214
+ updated_at?: string;
1215
+ user_id?: string;
1216
+ };
1217
+ Relationships: [];
1218
+ };
1219
+ catalog_vat_rates_cache: {
1220
+ Row: {
1221
+ created_at: string;
1222
+ external_ref: string;
1223
+ id: string;
1224
+ label: string;
1225
+ percentage: number;
1226
+ updated_at: string;
1227
+ user_id: string;
1228
+ };
1229
+ Insert: {
1230
+ created_at?: string;
1231
+ external_ref: string;
1232
+ id?: string;
1233
+ label: string;
1234
+ percentage?: number;
1235
+ updated_at?: string;
1236
+ user_id: string;
1237
+ };
1238
+ Update: {
1239
+ created_at?: string;
1240
+ external_ref?: string;
1241
+ id?: string;
1242
+ label?: string;
1243
+ percentage?: number;
1244
+ updated_at?: string;
1245
+ user_id?: string;
1246
+ };
1247
+ Relationships: [];
1248
+ };
955
1249
  collections: {
956
1250
  Row: {
957
1251
  created_at: string;
@@ -1201,6 +1495,105 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
1201
1495
  };
1202
1496
  Relationships: [];
1203
1497
  };
1498
+ customer_price_group_members: {
1499
+ Row: {
1500
+ created_at: string;
1501
+ customer_key: string;
1502
+ id: string;
1503
+ owner_id: string;
1504
+ price_group_id: string;
1505
+ };
1506
+ Insert: {
1507
+ created_at?: string;
1508
+ customer_key: string;
1509
+ id?: string;
1510
+ owner_id?: string;
1511
+ price_group_id: string;
1512
+ };
1513
+ Update: {
1514
+ created_at?: string;
1515
+ customer_key?: string;
1516
+ id?: string;
1517
+ owner_id?: string;
1518
+ price_group_id?: string;
1519
+ };
1520
+ Relationships: [{
1521
+ foreignKeyName: "customer_price_group_members_price_group_id_fkey";
1522
+ columns: ["price_group_id"];
1523
+ isOneToOne: false;
1524
+ referencedRelation: "customer_price_groups";
1525
+ referencedColumns: ["id"];
1526
+ }];
1527
+ };
1528
+ customer_price_groups: {
1529
+ Row: {
1530
+ calc_type: string | null;
1531
+ calc_value: number | null;
1532
+ calc_value_type: string | null;
1533
+ created_at: string;
1534
+ currency: string;
1535
+ distribute_over: string | null;
1536
+ group_type: string;
1537
+ handling_fee: number | null;
1538
+ id: string;
1539
+ include_stickers: boolean;
1540
+ is_active: boolean;
1541
+ name: string;
1542
+ owner_id: string;
1543
+ price_scope: string;
1544
+ pricing_mode: string;
1545
+ rounding: string;
1546
+ rounding_step: number;
1547
+ sort_order: number;
1548
+ unit: string;
1549
+ updated_at: string;
1550
+ };
1551
+ Insert: {
1552
+ calc_type?: string | null;
1553
+ calc_value?: number | null;
1554
+ calc_value_type?: string | null;
1555
+ created_at?: string;
1556
+ currency?: string;
1557
+ distribute_over?: string | null;
1558
+ group_type?: string;
1559
+ handling_fee?: number | null;
1560
+ id?: string;
1561
+ include_stickers?: boolean;
1562
+ is_active?: boolean;
1563
+ name: string;
1564
+ owner_id?: string;
1565
+ price_scope?: string;
1566
+ pricing_mode?: string;
1567
+ rounding?: string;
1568
+ rounding_step?: number;
1569
+ sort_order?: number;
1570
+ unit?: string;
1571
+ updated_at?: string;
1572
+ };
1573
+ Update: {
1574
+ calc_type?: string | null;
1575
+ calc_value?: number | null;
1576
+ calc_value_type?: string | null;
1577
+ created_at?: string;
1578
+ currency?: string;
1579
+ distribute_over?: string | null;
1580
+ group_type?: string;
1581
+ handling_fee?: number | null;
1582
+ id?: string;
1583
+ include_stickers?: boolean;
1584
+ is_active?: boolean;
1585
+ name?: string;
1586
+ owner_id?: string;
1587
+ price_scope?: string;
1588
+ pricing_mode?: string;
1589
+ rounding?: string;
1590
+ rounding_step?: number;
1591
+ sort_order?: number;
1592
+ unit?: string;
1593
+ updated_at?: string;
1594
+ };
1595
+ Relationships: [];
1596
+ };
1204
1597
  customer_selected_assortment: {
1205
1598
  Row: {
1206
1599
  article_number: string | null;
@@ -1354,6 +1747,10 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
1354
1747
  sync_error: string | null;
1355
1748
  sync_status: string;
1356
1749
  trade_forms: string[];
1750
+ twinfield_code: string | null;
1751
+ twinfield_last_hash: string | null;
1752
+ twinfield_sync_error: string | null;
1753
+ twinfield_synced_at: string | null;
1357
1754
  updated_at: string;
1358
1755
  vat_display: string | null;
1359
1756
  vat_number: string | null;
@@ -1421,6 +1818,10 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
1421
1818
  sync_error?: string | null;
1422
1819
  sync_status?: string;
1423
1820
  trade_forms?: string[];
1821
+ twinfield_code?: string | null;
1822
+ twinfield_last_hash?: string | null;
1823
+ twinfield_sync_error?: string | null;
1824
+ twinfield_synced_at?: string | null;
1424
1825
  updated_at?: string;
1425
1826
  vat_display?: string | null;
1426
1827
  vat_number?: string | null;
@@ -1488,6 +1889,10 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
1488
1889
  sync_error?: string | null;
1489
1890
  sync_status?: string;
1490
1891
  trade_forms?: string[];
1892
+ twinfield_code?: string | null;
1893
+ twinfield_last_hash?: string | null;
1894
+ twinfield_sync_error?: string | null;
1895
+ twinfield_synced_at?: string | null;
1491
1896
  updated_at?: string;
1492
1897
  vat_display?: string | null;
1493
1898
  vat_number?: string | null;
@@ -8470,6 +8875,27 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
8470
8875
  };
8471
8876
  Relationships: [];
8472
8877
  };
8878
+ technician_rates: {
8879
+ Row: {
8880
+ created_at: string;
8881
+ hourly_rate_cents: number;
8882
+ updated_at: string;
8883
+ user_id: string;
8884
+ };
8885
+ Insert: {
8886
+ created_at?: string;
8887
+ hourly_rate_cents?: number;
8888
+ updated_at?: string;
8889
+ user_id: string;
8890
+ };
8891
+ Update: {
8892
+ created_at?: string;
8893
+ hourly_rate_cents?: number;
8894
+ updated_at?: string;
8895
+ user_id?: string;
8896
+ };
8897
+ Relationships: [];
8898
+ };
8473
8899
  tenants: {
8474
8900
  Row: {
8475
8901
  created_at: string;
@@ -8939,6 +9365,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
8939
9365
  country: string | null;
8940
9366
  created_at: string;
8941
9367
  email: string | null;
9368
+ external_group_key: string | null;
8942
9369
  id: string;
8943
9370
  last_synced_at: string | null;
8944
9371
  name: string;
@@ -8957,6 +9384,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
8957
9384
  country?: string | null;
8958
9385
  created_at?: string;
8959
9386
  email?: string | null;
9387
+ external_group_key?: string | null;
8960
9388
  id?: string;
8961
9389
  last_synced_at?: string | null;
8962
9390
  name: string;
@@ -8975,6 +9403,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
8975
9403
  country?: string | null;
8976
9404
  created_at?: string;
8977
9405
  email?: string | null;
9406
+ external_group_key?: string | null;
8978
9407
  id?: string;
8979
9408
  last_synced_at?: string | null;
8980
9409
  name?: string;
@@ -9139,6 +9568,8 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9139
9568
  twinfield_invoice_settings: {
9140
9569
  Row: {
9141
9570
  created_at: string;
9571
+ debtor_gl_account: string;
9572
+ default_credit_invoice_type: string | null;
9142
9573
  default_gl_account: string;
9143
9574
  default_invoice_type: string;
9144
9575
  default_payment_term_days: number;
@@ -9147,11 +9578,15 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9147
9578
  invoice_enabled_fo: boolean;
9148
9579
  invoice_enabled_ho: boolean;
9149
9580
  invoice_enabled_mo: boolean;
9581
+ payment_gl_account: string;
9582
+ payment_journal_code: string;
9150
9583
  updated_at: string;
9151
9584
  user_id: string;
9152
9585
  };
9153
9586
  Insert: {
9154
9587
  created_at?: string;
9588
+ debtor_gl_account?: string;
9589
+ default_credit_invoice_type?: string | null;
9155
9590
  default_gl_account?: string;
9156
9591
  default_invoice_type?: string;
9157
9592
  default_payment_term_days?: number;
@@ -9160,11 +9595,15 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9160
9595
  invoice_enabled_fo?: boolean;
9161
9596
  invoice_enabled_ho?: boolean;
9162
9597
  invoice_enabled_mo?: boolean;
9598
+ payment_gl_account?: string;
9599
+ payment_journal_code?: string;
9163
9600
  updated_at?: string;
9164
9601
  user_id: string;
9165
9602
  };
9166
9603
  Update: {
9167
9604
  created_at?: string;
9605
+ debtor_gl_account?: string;
9606
+ default_credit_invoice_type?: string | null;
9168
9607
  default_gl_account?: string;
9169
9608
  default_invoice_type?: string;
9170
9609
  default_payment_term_days?: number;
@@ -9173,6 +9612,8 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9173
9612
  invoice_enabled_fo?: boolean;
9174
9613
  invoice_enabled_ho?: boolean;
9175
9614
  invoice_enabled_mo?: boolean;
9615
+ payment_gl_account?: string;
9616
+ payment_journal_code?: string;
9176
9617
  updated_at?: string;
9177
9618
  user_id?: string;
9178
9619
  };
@@ -9393,43 +9834,49 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9393
9834
  };
9394
9835
  twinfield_push_queue: {
9395
9836
  Row: {
9837
+ action: string;
9396
9838
  attempts: number;
9397
9839
  connection_id: string;
9398
9840
  created_at: string;
9841
+ customer_id: string | null;
9399
9842
  external_id: string | null;
9400
9843
  id: string;
9401
9844
  idempotency_key: string;
9402
9845
  last_error: string | null;
9403
9846
  next_attempt_at: string;
9404
- office_code: string;
9847
+ office_code: string | null;
9405
9848
  payload: import("../integrations/supabase/types").Json;
9406
9849
  status: string;
9407
9850
  updated_at: string;
9408
9851
  };
9409
9852
  Insert: {
9853
+ action?: string;
9410
9854
  attempts?: number;
9411
9855
  connection_id: string;
9412
9856
  created_at?: string;
9857
+ customer_id?: string | null;
9413
9858
  external_id?: string | null;
9414
9859
  id?: string;
9415
9860
  idempotency_key: string;
9416
9861
  last_error?: string | null;
9417
9862
  next_attempt_at?: string;
9418
- office_code: string;
9863
+ office_code?: string | null;
9419
9864
  payload: import("../integrations/supabase/types").Json;
9420
9865
  status?: string;
9421
9866
  updated_at?: string;
9422
9867
  };
9423
9868
  Update: {
9869
+ action?: string;
9424
9870
  attempts?: number;
9425
9871
  connection_id?: string;
9426
9872
  created_at?: string;
9873
+ customer_id?: string | null;
9427
9874
  external_id?: string | null;
9428
9875
  id?: string;
9429
9876
  idempotency_key?: string;
9430
9877
  last_error?: string | null;
9431
9878
  next_attempt_at?: string;
9432
- office_code?: string;
9879
+ office_code?: string | null;
9433
9880
  payload?: import("../integrations/supabase/types").Json;
9434
9881
  status?: string;
9435
9882
  updated_at?: string;
@@ -9440,6 +9887,12 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9440
9887
  isOneToOne: false;
9441
9888
  referencedRelation: "twinfield_connections";
9442
9889
  referencedColumns: ["id"];
9890
+ }, {
9891
+ foreignKeyName: "twinfield_push_queue_customer_id_fkey";
9892
+ columns: ["customer_id"];
9893
+ isOneToOne: false;
9894
+ referencedRelation: "customers";
9895
+ referencedColumns: ["id"];
9443
9896
  }];
9444
9897
  };
9445
9898
  twinfield_request_metrics: {
@@ -9715,6 +10168,246 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9715
10168
  };
9716
10169
  Relationships: [];
9717
10170
  };
10171
+ werkbon_package_lines: {
10172
+ Row: {
10173
+ created_at: string;
10174
+ created_by: string | null;
10175
+ id: string;
10176
+ package_id: string;
10177
+ quantity: number;
10178
+ unit_price_cents_snapshot: number;
10179
+ werkbon_id: string;
10180
+ };
10181
+ Insert: {
10182
+ created_at?: string;
10183
+ created_by?: string | null;
10184
+ id?: string;
10185
+ package_id: string;
10186
+ quantity?: number;
10187
+ unit_price_cents_snapshot?: number;
10188
+ werkbon_id: string;
10189
+ };
10190
+ Update: {
10191
+ created_at?: string;
10192
+ created_by?: string | null;
10193
+ id?: string;
10194
+ package_id?: string;
10195
+ quantity?: number;
10196
+ unit_price_cents_snapshot?: number;
10197
+ werkbon_id?: string;
10198
+ };
10199
+ Relationships: [{
10200
+ foreignKeyName: "werkbon_package_lines_package_id_fkey";
10201
+ columns: ["package_id"];
10202
+ isOneToOne: false;
10203
+ referencedRelation: "werkbon_packages";
10204
+ referencedColumns: ["id"];
10205
+ }, {
10206
+ foreignKeyName: "werkbon_package_lines_werkbon_id_fkey";
10207
+ columns: ["werkbon_id"];
10208
+ isOneToOne: false;
10209
+ referencedRelation: "werkbonnen";
10210
+ referencedColumns: ["id"];
10211
+ }];
10212
+ };
10213
+ werkbon_packages: {
10214
+ Row: {
10215
+ active: boolean;
10216
+ code: string;
10217
+ created_at: string;
10218
+ default_quantity: number;
10219
+ description: string | null;
10220
+ id: string;
10221
+ name: string;
10222
+ unit_price_cents: number;
10223
+ updated_at: string;
10224
+ };
10225
+ Insert: {
10226
+ active?: boolean;
10227
+ code: string;
10228
+ created_at?: string;
10229
+ default_quantity?: number;
10230
+ description?: string | null;
10231
+ id?: string;
10232
+ name: string;
10233
+ unit_price_cents?: number;
10234
+ updated_at?: string;
10235
+ };
10236
+ Update: {
10237
+ active?: boolean;
10238
+ code?: string;
10239
+ created_at?: string;
10240
+ default_quantity?: number;
10241
+ description?: string | null;
10242
+ id?: string;
10243
+ name?: string;
10244
+ unit_price_cents?: number;
10245
+ updated_at?: string;
10246
+ };
10247
+ Relationships: [];
10248
+ };
10249
+ werkbon_photos: {
10250
+ Row: {
10251
+ created_at: string;
10252
+ id: string;
10253
+ storage_path: string;
10254
+ user_id: string;
10255
+ werkbon_id: string;
10256
+ };
10257
+ Insert: {
10258
+ created_at?: string;
10259
+ id?: string;
10260
+ storage_path: string;
10261
+ user_id: string;
10262
+ werkbon_id: string;
10263
+ };
10264
+ Update: {
10265
+ created_at?: string;
10266
+ id?: string;
10267
+ storage_path?: string;
10268
+ user_id?: string;
10269
+ werkbon_id?: string;
10270
+ };
10271
+ Relationships: [{
10272
+ foreignKeyName: "werkbon_photos_werkbon_id_fkey";
10273
+ columns: ["werkbon_id"];
10274
+ isOneToOne: false;
10275
+ referencedRelation: "werkbonnen";
10276
+ referencedColumns: ["id"];
10277
+ }];
10278
+ };
10279
+ werkbon_time_logs: {
10280
+ Row: {
10281
+ activity: string;
10282
+ created_at: string;
10283
+ ended_at: string | null;
10284
+ id: string;
10285
+ started_at: string;
10286
+ user_id: string;
10287
+ werkbon_id: string;
10288
+ };
10289
+ Insert: {
10290
+ activity: string;
10291
+ created_at?: string;
10292
+ ended_at?: string | null;
10293
+ id?: string;
10294
+ started_at?: string;
10295
+ user_id: string;
10296
+ werkbon_id: string;
10297
+ };
10298
+ Update: {
10299
+ activity?: string;
10300
+ created_at?: string;
10301
+ ended_at?: string | null;
10302
+ id?: string;
10303
+ started_at?: string;
10304
+ user_id?: string;
10305
+ werkbon_id?: string;
10306
+ };
10307
+ Relationships: [{
10308
+ foreignKeyName: "werkbon_time_logs_werkbon_id_fkey";
10309
+ columns: ["werkbon_id"];
10310
+ isOneToOne: false;
10311
+ referencedRelation: "werkbonnen";
10312
+ referencedColumns: ["id"];
10313
+ }];
10314
+ };
10315
+ werkbonnen: {
10316
+ Row: {
10317
+ assigned_user_id: string | null;
10318
+ budget_mandate_cents: number;
10319
+ complaint_description: string | null;
10320
+ created_at: string;
10321
+ created_by: string | null;
10322
+ customer_id: string | null;
10323
+ externe_referentie: string | null;
10324
+ first_time_fix: boolean | null;
10325
+ id: string;
10326
+ internal_notes: string | null;
10327
+ parent_werkbon_id: string | null;
10328
+ parsed_payload: import("../integrations/supabase/types").Json | null;
10329
+ project_number: string | null;
10330
+ room_number: string | null;
10331
+ scheduled_end_time: string | null;
10332
+ scheduled_start_time: string | null;
10333
+ sequence_number: number;
10334
+ source_pdf_path: string | null;
10335
+ status: string;
10336
+ technician_notes: string | null;
10337
+ technician_notes_raw: string | null;
10338
+ technician_task_description: string | null;
10339
+ updated_at: string;
10340
+ version: number;
10341
+ work_address: string | null;
10342
+ };
10343
+ Insert: {
10344
+ assigned_user_id?: string | null;
10345
+ budget_mandate_cents?: number;
10346
+ complaint_description?: string | null;
10347
+ created_at?: string;
10348
+ created_by?: string | null;
10349
+ customer_id?: string | null;
10350
+ externe_referentie?: string | null;
10351
+ first_time_fix?: boolean | null;
10352
+ id?: string;
10353
+ internal_notes?: string | null;
10354
+ parent_werkbon_id?: string | null;
10355
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
10356
+ project_number?: string | null;
10357
+ room_number?: string | null;
10358
+ scheduled_end_time?: string | null;
10359
+ scheduled_start_time?: string | null;
10360
+ sequence_number: number;
10361
+ source_pdf_path?: string | null;
10362
+ status?: string;
10363
+ technician_notes?: string | null;
10364
+ technician_notes_raw?: string | null;
10365
+ technician_task_description?: string | null;
10366
+ updated_at?: string;
10367
+ version?: number;
10368
+ work_address?: string | null;
10369
+ };
10370
+ Update: {
10371
+ assigned_user_id?: string | null;
10372
+ budget_mandate_cents?: number;
10373
+ complaint_description?: string | null;
10374
+ created_at?: string;
10375
+ created_by?: string | null;
10376
+ customer_id?: string | null;
10377
+ externe_referentie?: string | null;
10378
+ first_time_fix?: boolean | null;
10379
+ id?: string;
10380
+ internal_notes?: string | null;
10381
+ parent_werkbon_id?: string | null;
10382
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
10383
+ project_number?: string | null;
10384
+ room_number?: string | null;
10385
+ scheduled_end_time?: string | null;
10386
+ scheduled_start_time?: string | null;
10387
+ sequence_number?: number;
10388
+ source_pdf_path?: string | null;
10389
+ status?: string;
10390
+ technician_notes?: string | null;
10391
+ technician_notes_raw?: string | null;
10392
+ technician_task_description?: string | null;
10393
+ updated_at?: string;
10394
+ version?: number;
10395
+ work_address?: string | null;
10396
+ };
10397
+ Relationships: [{
10398
+ foreignKeyName: "werkbonnen_customer_id_fkey";
10399
+ columns: ["customer_id"];
10400
+ isOneToOne: false;
10401
+ referencedRelation: "customers";
10402
+ referencedColumns: ["id"];
10403
+ }, {
10404
+ foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
10405
+ columns: ["parent_werkbon_id"];
10406
+ isOneToOne: false;
10407
+ referencedRelation: "werkbonnen";
10408
+ referencedColumns: ["id"];
10409
+ }];
10410
+ };
9718
10411
  work_order_monteurs: {
9719
10412
  Row: {
9720
10413
  created_at: string;
@@ -9885,6 +10578,8 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9885
10578
  created_at: string | null;
9886
10579
  created_by: string | null;
9887
10580
  display_name: string | null;
10581
+ graph_subscription_expires_at: string | null;
10582
+ graph_subscription_id: string | null;
9888
10583
  has_access_token: boolean | null;
9889
10584
  has_client_id: boolean | null;
9890
10585
  has_client_secret: boolean | null;
@@ -9902,6 +10597,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9902
10597
  oauth_mode: string | null;
9903
10598
  provider: string | null;
9904
10599
  purpose_assignments: import("../integrations/supabase/types").Json | null;
10600
+ realtime_mode: string | null;
9905
10601
  scopes: string[] | null;
9906
10602
  smtp_host: string | null;
9907
10603
  smtp_port: number | null;
@@ -9916,6 +10612,8 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9916
10612
  created_at?: string | null;
9917
10613
  created_by?: string | null;
9918
10614
  display_name?: string | null;
10615
+ graph_subscription_expires_at?: string | null;
10616
+ graph_subscription_id?: string | null;
9919
10617
  has_access_token?: never;
9920
10618
  has_client_id?: never;
9921
10619
  has_client_secret?: never;
@@ -9933,6 +10631,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9933
10631
  oauth_mode?: string | null;
9934
10632
  provider?: string | null;
9935
10633
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
10634
+ realtime_mode?: string | null;
9936
10635
  scopes?: string[] | null;
9937
10636
  smtp_host?: string | null;
9938
10637
  smtp_port?: number | null;
@@ -9947,6 +10646,8 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9947
10646
  created_at?: string | null;
9948
10647
  created_by?: string | null;
9949
10648
  display_name?: string | null;
10649
+ graph_subscription_expires_at?: string | null;
10650
+ graph_subscription_id?: string | null;
9950
10651
  has_access_token?: never;
9951
10652
  has_client_id?: never;
9952
10653
  has_client_secret?: never;
@@ -9964,6 +10665,7 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
9964
10665
  oauth_mode?: string | null;
9965
10666
  provider?: string | null;
9966
10667
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
10668
+ realtime_mode?: string | null;
9967
10669
  scopes?: string[] | null;
9968
10670
  smtp_host?: string | null;
9969
10671
  smtp_port?: number | null;
@@ -10507,6 +11209,33 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10507
11209
  };
10508
11210
  Returns: import("../integrations/supabase/types").Json;
10509
11211
  };
11212
+ claim_twinfield_push_batch: {
11213
+ Args: {
11214
+ _limit?: number;
11215
+ };
11216
+ Returns: {
11217
+ action: string;
11218
+ attempts: number;
11219
+ connection_id: string;
11220
+ created_at: string;
11221
+ customer_id: string | null;
11222
+ external_id: string | null;
11223
+ id: string;
11224
+ idempotency_key: string;
11225
+ last_error: string | null;
11226
+ next_attempt_at: string;
11227
+ office_code: string | null;
11228
+ payload: import("../integrations/supabase/types").Json;
11229
+ status: string;
11230
+ updated_at: string;
11231
+ }[];
11232
+ SetofOptions: {
11233
+ from: "*";
11234
+ to: "twinfield_push_queue";
11235
+ isOneToOne: false;
11236
+ isSetofReturn: true;
11237
+ };
11238
+ };
10510
11239
  cleanup_old_bookings: {
10511
11240
  Args: never;
10512
11241
  Returns: undefined;
@@ -10603,6 +11332,16 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10603
11332
  status: string;
10604
11333
  }[];
10605
11334
  };
11335
+ email_auth_upsert_connection: {
11336
+ Args: {
11337
+ _account_email: string;
11338
+ _created_by: string;
11339
+ _is_active: boolean;
11340
+ _provider: string;
11341
+ _status: string;
11342
+ };
11343
+ Returns: string;
11344
+ };
10606
11345
  enqueue_cart_replan_if_unlocked: {
10607
11346
  Args: {
10608
11347
  p_order_id: string;
@@ -10875,6 +11614,10 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10875
11614
  };
10876
11615
  Returns: boolean;
10877
11616
  };
11617
+ has_twinfield_link: {
11618
+ Args: never;
11619
+ Returns: boolean;
11620
+ };
10878
11621
  is_authenticated: {
10879
11622
  Args: never;
10880
11623
  Returns: boolean;
@@ -10930,6 +11673,10 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
10930
11673
  };
10931
11674
  Returns: string;
10932
11675
  };
11676
+ next_twinfield_code: {
11677
+ Args: never;
11678
+ Returns: string;
11679
+ };
10933
11680
  next_work_order_number: {
10934
11681
  Args: {
10935
11682
  p_parent_work_order_id?: string;
@@ -11044,6 +11791,12 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11044
11791
  };
11045
11792
  Returns: number;
11046
11793
  };
11794
+ reorder_customer_price_groups: {
11795
+ Args: {
11796
+ _ids: string[];
11797
+ };
11798
+ Returns: undefined;
11799
+ };
11047
11800
  reset_floriday_sync_cursor: {
11048
11801
  Args: {
11049
11802
  p_connection_id: string;
@@ -11057,6 +11810,12 @@ export declare const listExternalProviders: import("@tanstack/start-client-core"
11057
11810
  };
11058
11811
  Returns: string;
11059
11812
  };
11813
+ retry_twinfield_push: {
11814
+ Args: {
11815
+ _customer_id: string;
11816
+ };
11817
+ Returns: number;
11818
+ };
11060
11819
  schedule_floriday_additional_services_sync: {
11061
11820
  Args: {
11062
11821
  p_apikey: string;
@@ -11634,6 +12393,237 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
11634
12393
  };
11635
12394
  Relationships: [];
11636
12395
  };
12396
+ ai_admin_credentials: {
12397
+ Row: {
12398
+ active: boolean;
12399
+ admin_key: string;
12400
+ created_at: string;
12401
+ id: string;
12402
+ label: string;
12403
+ provider_id: string;
12404
+ updated_at: string;
12405
+ };
12406
+ Insert: {
12407
+ active?: boolean;
12408
+ admin_key: string;
12409
+ created_at?: string;
12410
+ id?: string;
12411
+ label: string;
12412
+ provider_id: string;
12413
+ updated_at?: string;
12414
+ };
12415
+ Update: {
12416
+ active?: boolean;
12417
+ admin_key?: string;
12418
+ created_at?: string;
12419
+ id?: string;
12420
+ label?: string;
12421
+ provider_id?: string;
12422
+ updated_at?: string;
12423
+ };
12424
+ Relationships: [{
12425
+ foreignKeyName: "ai_admin_credentials_provider_id_fkey";
12426
+ columns: ["provider_id"];
12427
+ isOneToOne: true;
12428
+ referencedRelation: "ai_providers";
12429
+ referencedColumns: ["id"];
12430
+ }];
12431
+ };
12432
+ ai_credentials: {
12433
+ Row: {
12434
+ active: boolean;
12435
+ api_key: string;
12436
+ created_at: string;
12437
+ id: string;
12438
+ label: string;
12439
+ provider_id: string;
12440
+ updated_at: string;
12441
+ };
12442
+ Insert: {
12443
+ active?: boolean;
12444
+ api_key: string;
12445
+ created_at?: string;
12446
+ id?: string;
12447
+ label: string;
12448
+ provider_id: string;
12449
+ updated_at?: string;
12450
+ };
12451
+ Update: {
12452
+ active?: boolean;
12453
+ api_key?: string;
12454
+ created_at?: string;
12455
+ id?: string;
12456
+ label?: string;
12457
+ provider_id?: string;
12458
+ updated_at?: string;
12459
+ };
12460
+ Relationships: [{
12461
+ foreignKeyName: "ai_credentials_provider_id_fkey";
12462
+ columns: ["provider_id"];
12463
+ isOneToOne: false;
12464
+ referencedRelation: "ai_providers";
12465
+ referencedColumns: ["id"];
12466
+ }];
12467
+ };
12468
+ ai_model_pricing: {
12469
+ Row: {
12470
+ created_at: string;
12471
+ currency: string;
12472
+ fetched_at: string;
12473
+ id: string;
12474
+ input_per_mtok: number | null;
12475
+ model_slug: string;
12476
+ output_per_mtok: number | null;
12477
+ provider_slug: string;
12478
+ source: string;
12479
+ updated_at: string;
12480
+ };
12481
+ Insert: {
12482
+ created_at?: string;
12483
+ currency?: string;
12484
+ fetched_at?: string;
12485
+ id?: string;
12486
+ input_per_mtok?: number | null;
12487
+ model_slug: string;
12488
+ output_per_mtok?: number | null;
12489
+ provider_slug: string;
12490
+ source?: string;
12491
+ updated_at?: string;
12492
+ };
12493
+ Update: {
12494
+ created_at?: string;
12495
+ currency?: string;
12496
+ fetched_at?: string;
12497
+ id?: string;
12498
+ input_per_mtok?: number | null;
12499
+ model_slug?: string;
12500
+ output_per_mtok?: number | null;
12501
+ provider_slug?: string;
12502
+ source?: string;
12503
+ updated_at?: string;
12504
+ };
12505
+ Relationships: [];
12506
+ };
12507
+ ai_models: {
12508
+ Row: {
12509
+ active: boolean;
12510
+ context_window: number | null;
12511
+ created_at: string;
12512
+ display_name: string;
12513
+ id: string;
12514
+ is_default: boolean;
12515
+ modality: string;
12516
+ provider_id: string;
12517
+ slug: string;
12518
+ updated_at: string;
12519
+ };
12520
+ Insert: {
12521
+ active?: boolean;
12522
+ context_window?: number | null;
12523
+ created_at?: string;
12524
+ display_name: string;
12525
+ id?: string;
12526
+ is_default?: boolean;
12527
+ modality?: string;
12528
+ provider_id: string;
12529
+ slug: string;
12530
+ updated_at?: string;
12531
+ };
12532
+ Update: {
12533
+ active?: boolean;
12534
+ context_window?: number | null;
12535
+ created_at?: string;
12536
+ display_name?: string;
12537
+ id?: string;
12538
+ is_default?: boolean;
12539
+ modality?: string;
12540
+ provider_id?: string;
12541
+ slug?: string;
12542
+ updated_at?: string;
12543
+ };
12544
+ Relationships: [{
12545
+ foreignKeyName: "ai_models_provider_id_fkey";
12546
+ columns: ["provider_id"];
12547
+ isOneToOne: false;
12548
+ referencedRelation: "ai_providers";
12549
+ referencedColumns: ["id"];
12550
+ }];
12551
+ };
12552
+ ai_module_bindings: {
12553
+ Row: {
12554
+ consumer_module_id: string;
12555
+ created_at: string;
12556
+ credential_id: string;
12557
+ id: string;
12558
+ model_id: string;
12559
+ notes: string | null;
12560
+ updated_at: string;
12561
+ };
12562
+ Insert: {
12563
+ consumer_module_id: string;
12564
+ created_at?: string;
12565
+ credential_id: string;
12566
+ id?: string;
12567
+ model_id: string;
12568
+ notes?: string | null;
12569
+ updated_at?: string;
12570
+ };
12571
+ Update: {
12572
+ consumer_module_id?: string;
12573
+ created_at?: string;
12574
+ credential_id?: string;
12575
+ id?: string;
12576
+ model_id?: string;
12577
+ notes?: string | null;
12578
+ updated_at?: string;
12579
+ };
12580
+ Relationships: [{
12581
+ foreignKeyName: "ai_module_bindings_credential_id_fkey";
12582
+ columns: ["credential_id"];
12583
+ isOneToOne: false;
12584
+ referencedRelation: "ai_credentials";
12585
+ referencedColumns: ["id"];
12586
+ }, {
12587
+ foreignKeyName: "ai_module_bindings_model_id_fkey";
12588
+ columns: ["model_id"];
12589
+ isOneToOne: false;
12590
+ referencedRelation: "ai_models";
12591
+ referencedColumns: ["id"];
12592
+ }];
12593
+ };
12594
+ ai_providers: {
12595
+ Row: {
12596
+ active: boolean;
12597
+ auth_type: string;
12598
+ base_url: string | null;
12599
+ created_at: string;
12600
+ id: string;
12601
+ name: string;
12602
+ slug: string;
12603
+ updated_at: string;
12604
+ };
12605
+ Insert: {
12606
+ active?: boolean;
12607
+ auth_type?: string;
12608
+ base_url?: string | null;
12609
+ created_at?: string;
12610
+ id?: string;
12611
+ name: string;
12612
+ slug: string;
12613
+ updated_at?: string;
12614
+ };
12615
+ Update: {
12616
+ active?: boolean;
12617
+ auth_type?: string;
12618
+ base_url?: string | null;
12619
+ created_at?: string;
12620
+ id?: string;
12621
+ name?: string;
12622
+ slug?: string;
12623
+ updated_at?: string;
12624
+ };
12625
+ Relationships: [];
12626
+ };
11637
12627
  app_settings: {
11638
12628
  Row: {
11639
12629
  created_at: string;
@@ -12291,6 +13281,69 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
12291
13281
  referencedColumns: ["id"];
12292
13282
  }];
12293
13283
  };
13284
+ catalog_articles_cache: {
13285
+ Row: {
13286
+ created_at: string;
13287
+ default_price: number;
13288
+ default_vat_rate_ref: string | null;
13289
+ external_ref: string;
13290
+ id: string;
13291
+ name: string;
13292
+ updated_at: string;
13293
+ user_id: string;
13294
+ };
13295
+ Insert: {
13296
+ created_at?: string;
13297
+ default_price?: number;
13298
+ default_vat_rate_ref?: string | null;
13299
+ external_ref: string;
13300
+ id?: string;
13301
+ name: string;
13302
+ updated_at?: string;
13303
+ user_id: string;
13304
+ };
13305
+ Update: {
13306
+ created_at?: string;
13307
+ default_price?: number;
13308
+ default_vat_rate_ref?: string | null;
13309
+ external_ref?: string;
13310
+ id?: string;
13311
+ name?: string;
13312
+ updated_at?: string;
13313
+ user_id?: string;
13314
+ };
13315
+ Relationships: [];
13316
+ };
13317
+ catalog_vat_rates_cache: {
13318
+ Row: {
13319
+ created_at: string;
13320
+ external_ref: string;
13321
+ id: string;
13322
+ label: string;
13323
+ percentage: number;
13324
+ updated_at: string;
13325
+ user_id: string;
13326
+ };
13327
+ Insert: {
13328
+ created_at?: string;
13329
+ external_ref: string;
13330
+ id?: string;
13331
+ label: string;
13332
+ percentage?: number;
13333
+ updated_at?: string;
13334
+ user_id: string;
13335
+ };
13336
+ Update: {
13337
+ created_at?: string;
13338
+ external_ref?: string;
13339
+ id?: string;
13340
+ label?: string;
13341
+ percentage?: number;
13342
+ updated_at?: string;
13343
+ user_id?: string;
13344
+ };
13345
+ Relationships: [];
13346
+ };
12294
13347
  collections: {
12295
13348
  Row: {
12296
13349
  created_at: string;
@@ -12540,6 +13593,105 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
12540
13593
  };
12541
13594
  Relationships: [];
12542
13595
  };
13596
+ customer_price_group_members: {
13597
+ Row: {
13598
+ created_at: string;
13599
+ customer_key: string;
13600
+ id: string;
13601
+ owner_id: string;
13602
+ price_group_id: string;
13603
+ };
13604
+ Insert: {
13605
+ created_at?: string;
13606
+ customer_key: string;
13607
+ id?: string;
13608
+ owner_id?: string;
13609
+ price_group_id: string;
13610
+ };
13611
+ Update: {
13612
+ created_at?: string;
13613
+ customer_key?: string;
13614
+ id?: string;
13615
+ owner_id?: string;
13616
+ price_group_id?: string;
13617
+ };
13618
+ Relationships: [{
13619
+ foreignKeyName: "customer_price_group_members_price_group_id_fkey";
13620
+ columns: ["price_group_id"];
13621
+ isOneToOne: false;
13622
+ referencedRelation: "customer_price_groups";
13623
+ referencedColumns: ["id"];
13624
+ }];
13625
+ };
13626
+ customer_price_groups: {
13627
+ Row: {
13628
+ calc_type: string | null;
13629
+ calc_value: number | null;
13630
+ calc_value_type: string | null;
13631
+ created_at: string;
13632
+ currency: string;
13633
+ distribute_over: string | null;
13634
+ group_type: string;
13635
+ handling_fee: number | null;
13636
+ id: string;
13637
+ include_stickers: boolean;
13638
+ is_active: boolean;
13639
+ name: string;
13640
+ owner_id: string;
13641
+ price_scope: string;
13642
+ pricing_mode: string;
13643
+ rounding: string;
13644
+ rounding_step: number;
13645
+ sort_order: number;
13646
+ unit: string;
13647
+ updated_at: string;
13648
+ };
13649
+ Insert: {
13650
+ calc_type?: string | null;
13651
+ calc_value?: number | null;
13652
+ calc_value_type?: string | null;
13653
+ created_at?: string;
13654
+ currency?: string;
13655
+ distribute_over?: string | null;
13656
+ group_type?: string;
13657
+ handling_fee?: number | null;
13658
+ id?: string;
13659
+ include_stickers?: boolean;
13660
+ is_active?: boolean;
13661
+ name: string;
13662
+ owner_id?: string;
13663
+ price_scope?: string;
13664
+ pricing_mode?: string;
13665
+ rounding?: string;
13666
+ rounding_step?: number;
13667
+ sort_order?: number;
13668
+ unit?: string;
13669
+ updated_at?: string;
13670
+ };
13671
+ Update: {
13672
+ calc_type?: string | null;
13673
+ calc_value?: number | null;
13674
+ calc_value_type?: string | null;
13675
+ created_at?: string;
13676
+ currency?: string;
13677
+ distribute_over?: string | null;
13678
+ group_type?: string;
13679
+ handling_fee?: number | null;
13680
+ id?: string;
13681
+ include_stickers?: boolean;
13682
+ is_active?: boolean;
13683
+ name?: string;
13684
+ owner_id?: string;
13685
+ price_scope?: string;
13686
+ pricing_mode?: string;
13687
+ rounding?: string;
13688
+ rounding_step?: number;
13689
+ sort_order?: number;
13690
+ unit?: string;
13691
+ updated_at?: string;
13692
+ };
13693
+ Relationships: [];
13694
+ };
12543
13695
  customer_selected_assortment: {
12544
13696
  Row: {
12545
13697
  article_number: string | null;
@@ -12693,6 +13845,10 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
12693
13845
  sync_error: string | null;
12694
13846
  sync_status: string;
12695
13847
  trade_forms: string[];
13848
+ twinfield_code: string | null;
13849
+ twinfield_last_hash: string | null;
13850
+ twinfield_sync_error: string | null;
13851
+ twinfield_synced_at: string | null;
12696
13852
  updated_at: string;
12697
13853
  vat_display: string | null;
12698
13854
  vat_number: string | null;
@@ -12760,6 +13916,10 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
12760
13916
  sync_error?: string | null;
12761
13917
  sync_status?: string;
12762
13918
  trade_forms?: string[];
13919
+ twinfield_code?: string | null;
13920
+ twinfield_last_hash?: string | null;
13921
+ twinfield_sync_error?: string | null;
13922
+ twinfield_synced_at?: string | null;
12763
13923
  updated_at?: string;
12764
13924
  vat_display?: string | null;
12765
13925
  vat_number?: string | null;
@@ -12827,6 +13987,10 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
12827
13987
  sync_error?: string | null;
12828
13988
  sync_status?: string;
12829
13989
  trade_forms?: string[];
13990
+ twinfield_code?: string | null;
13991
+ twinfield_last_hash?: string | null;
13992
+ twinfield_sync_error?: string | null;
13993
+ twinfield_synced_at?: string | null;
12830
13994
  updated_at?: string;
12831
13995
  vat_display?: string | null;
12832
13996
  vat_number?: string | null;
@@ -19809,6 +20973,27 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
19809
20973
  };
19810
20974
  Relationships: [];
19811
20975
  };
20976
+ technician_rates: {
20977
+ Row: {
20978
+ created_at: string;
20979
+ hourly_rate_cents: number;
20980
+ updated_at: string;
20981
+ user_id: string;
20982
+ };
20983
+ Insert: {
20984
+ created_at?: string;
20985
+ hourly_rate_cents?: number;
20986
+ updated_at?: string;
20987
+ user_id: string;
20988
+ };
20989
+ Update: {
20990
+ created_at?: string;
20991
+ hourly_rate_cents?: number;
20992
+ updated_at?: string;
20993
+ user_id?: string;
20994
+ };
20995
+ Relationships: [];
20996
+ };
19812
20997
  tenants: {
19813
20998
  Row: {
19814
20999
  created_at: string;
@@ -20278,6 +21463,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20278
21463
  country: string | null;
20279
21464
  created_at: string;
20280
21465
  email: string | null;
21466
+ external_group_key: string | null;
20281
21467
  id: string;
20282
21468
  last_synced_at: string | null;
20283
21469
  name: string;
@@ -20296,6 +21482,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20296
21482
  country?: string | null;
20297
21483
  created_at?: string;
20298
21484
  email?: string | null;
21485
+ external_group_key?: string | null;
20299
21486
  id?: string;
20300
21487
  last_synced_at?: string | null;
20301
21488
  name: string;
@@ -20314,6 +21501,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20314
21501
  country?: string | null;
20315
21502
  created_at?: string;
20316
21503
  email?: string | null;
21504
+ external_group_key?: string | null;
20317
21505
  id?: string;
20318
21506
  last_synced_at?: string | null;
20319
21507
  name?: string;
@@ -20478,6 +21666,8 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20478
21666
  twinfield_invoice_settings: {
20479
21667
  Row: {
20480
21668
  created_at: string;
21669
+ debtor_gl_account: string;
21670
+ default_credit_invoice_type: string | null;
20481
21671
  default_gl_account: string;
20482
21672
  default_invoice_type: string;
20483
21673
  default_payment_term_days: number;
@@ -20486,11 +21676,15 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20486
21676
  invoice_enabled_fo: boolean;
20487
21677
  invoice_enabled_ho: boolean;
20488
21678
  invoice_enabled_mo: boolean;
21679
+ payment_gl_account: string;
21680
+ payment_journal_code: string;
20489
21681
  updated_at: string;
20490
21682
  user_id: string;
20491
21683
  };
20492
21684
  Insert: {
20493
21685
  created_at?: string;
21686
+ debtor_gl_account?: string;
21687
+ default_credit_invoice_type?: string | null;
20494
21688
  default_gl_account?: string;
20495
21689
  default_invoice_type?: string;
20496
21690
  default_payment_term_days?: number;
@@ -20499,11 +21693,15 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20499
21693
  invoice_enabled_fo?: boolean;
20500
21694
  invoice_enabled_ho?: boolean;
20501
21695
  invoice_enabled_mo?: boolean;
21696
+ payment_gl_account?: string;
21697
+ payment_journal_code?: string;
20502
21698
  updated_at?: string;
20503
21699
  user_id: string;
20504
21700
  };
20505
21701
  Update: {
20506
21702
  created_at?: string;
21703
+ debtor_gl_account?: string;
21704
+ default_credit_invoice_type?: string | null;
20507
21705
  default_gl_account?: string;
20508
21706
  default_invoice_type?: string;
20509
21707
  default_payment_term_days?: number;
@@ -20512,6 +21710,8 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20512
21710
  invoice_enabled_fo?: boolean;
20513
21711
  invoice_enabled_ho?: boolean;
20514
21712
  invoice_enabled_mo?: boolean;
21713
+ payment_gl_account?: string;
21714
+ payment_journal_code?: string;
20515
21715
  updated_at?: string;
20516
21716
  user_id?: string;
20517
21717
  };
@@ -20732,43 +21932,49 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20732
21932
  };
20733
21933
  twinfield_push_queue: {
20734
21934
  Row: {
21935
+ action: string;
20735
21936
  attempts: number;
20736
21937
  connection_id: string;
20737
21938
  created_at: string;
21939
+ customer_id: string | null;
20738
21940
  external_id: string | null;
20739
21941
  id: string;
20740
21942
  idempotency_key: string;
20741
21943
  last_error: string | null;
20742
21944
  next_attempt_at: string;
20743
- office_code: string;
21945
+ office_code: string | null;
20744
21946
  payload: import("../integrations/supabase/types").Json;
20745
21947
  status: string;
20746
21948
  updated_at: string;
20747
21949
  };
20748
21950
  Insert: {
21951
+ action?: string;
20749
21952
  attempts?: number;
20750
21953
  connection_id: string;
20751
21954
  created_at?: string;
21955
+ customer_id?: string | null;
20752
21956
  external_id?: string | null;
20753
21957
  id?: string;
20754
21958
  idempotency_key: string;
20755
21959
  last_error?: string | null;
20756
21960
  next_attempt_at?: string;
20757
- office_code: string;
21961
+ office_code?: string | null;
20758
21962
  payload: import("../integrations/supabase/types").Json;
20759
21963
  status?: string;
20760
21964
  updated_at?: string;
20761
21965
  };
20762
21966
  Update: {
21967
+ action?: string;
20763
21968
  attempts?: number;
20764
21969
  connection_id?: string;
20765
21970
  created_at?: string;
21971
+ customer_id?: string | null;
20766
21972
  external_id?: string | null;
20767
21973
  id?: string;
20768
21974
  idempotency_key?: string;
20769
21975
  last_error?: string | null;
20770
21976
  next_attempt_at?: string;
20771
- office_code?: string;
21977
+ office_code?: string | null;
20772
21978
  payload?: import("../integrations/supabase/types").Json;
20773
21979
  status?: string;
20774
21980
  updated_at?: string;
@@ -20779,6 +21985,12 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
20779
21985
  isOneToOne: false;
20780
21986
  referencedRelation: "twinfield_connections";
20781
21987
  referencedColumns: ["id"];
21988
+ }, {
21989
+ foreignKeyName: "twinfield_push_queue_customer_id_fkey";
21990
+ columns: ["customer_id"];
21991
+ isOneToOne: false;
21992
+ referencedRelation: "customers";
21993
+ referencedColumns: ["id"];
20782
21994
  }];
20783
21995
  };
20784
21996
  twinfield_request_metrics: {
@@ -21054,6 +22266,246 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21054
22266
  };
21055
22267
  Relationships: [];
21056
22268
  };
22269
+ werkbon_package_lines: {
22270
+ Row: {
22271
+ created_at: string;
22272
+ created_by: string | null;
22273
+ id: string;
22274
+ package_id: string;
22275
+ quantity: number;
22276
+ unit_price_cents_snapshot: number;
22277
+ werkbon_id: string;
22278
+ };
22279
+ Insert: {
22280
+ created_at?: string;
22281
+ created_by?: string | null;
22282
+ id?: string;
22283
+ package_id: string;
22284
+ quantity?: number;
22285
+ unit_price_cents_snapshot?: number;
22286
+ werkbon_id: string;
22287
+ };
22288
+ Update: {
22289
+ created_at?: string;
22290
+ created_by?: string | null;
22291
+ id?: string;
22292
+ package_id?: string;
22293
+ quantity?: number;
22294
+ unit_price_cents_snapshot?: number;
22295
+ werkbon_id?: string;
22296
+ };
22297
+ Relationships: [{
22298
+ foreignKeyName: "werkbon_package_lines_package_id_fkey";
22299
+ columns: ["package_id"];
22300
+ isOneToOne: false;
22301
+ referencedRelation: "werkbon_packages";
22302
+ referencedColumns: ["id"];
22303
+ }, {
22304
+ foreignKeyName: "werkbon_package_lines_werkbon_id_fkey";
22305
+ columns: ["werkbon_id"];
22306
+ isOneToOne: false;
22307
+ referencedRelation: "werkbonnen";
22308
+ referencedColumns: ["id"];
22309
+ }];
22310
+ };
22311
+ werkbon_packages: {
22312
+ Row: {
22313
+ active: boolean;
22314
+ code: string;
22315
+ created_at: string;
22316
+ default_quantity: number;
22317
+ description: string | null;
22318
+ id: string;
22319
+ name: string;
22320
+ unit_price_cents: number;
22321
+ updated_at: string;
22322
+ };
22323
+ Insert: {
22324
+ active?: boolean;
22325
+ code: string;
22326
+ created_at?: string;
22327
+ default_quantity?: number;
22328
+ description?: string | null;
22329
+ id?: string;
22330
+ name: string;
22331
+ unit_price_cents?: number;
22332
+ updated_at?: string;
22333
+ };
22334
+ Update: {
22335
+ active?: boolean;
22336
+ code?: string;
22337
+ created_at?: string;
22338
+ default_quantity?: number;
22339
+ description?: string | null;
22340
+ id?: string;
22341
+ name?: string;
22342
+ unit_price_cents?: number;
22343
+ updated_at?: string;
22344
+ };
22345
+ Relationships: [];
22346
+ };
22347
+ werkbon_photos: {
22348
+ Row: {
22349
+ created_at: string;
22350
+ id: string;
22351
+ storage_path: string;
22352
+ user_id: string;
22353
+ werkbon_id: string;
22354
+ };
22355
+ Insert: {
22356
+ created_at?: string;
22357
+ id?: string;
22358
+ storage_path: string;
22359
+ user_id: string;
22360
+ werkbon_id: string;
22361
+ };
22362
+ Update: {
22363
+ created_at?: string;
22364
+ id?: string;
22365
+ storage_path?: string;
22366
+ user_id?: string;
22367
+ werkbon_id?: string;
22368
+ };
22369
+ Relationships: [{
22370
+ foreignKeyName: "werkbon_photos_werkbon_id_fkey";
22371
+ columns: ["werkbon_id"];
22372
+ isOneToOne: false;
22373
+ referencedRelation: "werkbonnen";
22374
+ referencedColumns: ["id"];
22375
+ }];
22376
+ };
22377
+ werkbon_time_logs: {
22378
+ Row: {
22379
+ activity: string;
22380
+ created_at: string;
22381
+ ended_at: string | null;
22382
+ id: string;
22383
+ started_at: string;
22384
+ user_id: string;
22385
+ werkbon_id: string;
22386
+ };
22387
+ Insert: {
22388
+ activity: string;
22389
+ created_at?: string;
22390
+ ended_at?: string | null;
22391
+ id?: string;
22392
+ started_at?: string;
22393
+ user_id: string;
22394
+ werkbon_id: string;
22395
+ };
22396
+ Update: {
22397
+ activity?: string;
22398
+ created_at?: string;
22399
+ ended_at?: string | null;
22400
+ id?: string;
22401
+ started_at?: string;
22402
+ user_id?: string;
22403
+ werkbon_id?: string;
22404
+ };
22405
+ Relationships: [{
22406
+ foreignKeyName: "werkbon_time_logs_werkbon_id_fkey";
22407
+ columns: ["werkbon_id"];
22408
+ isOneToOne: false;
22409
+ referencedRelation: "werkbonnen";
22410
+ referencedColumns: ["id"];
22411
+ }];
22412
+ };
22413
+ werkbonnen: {
22414
+ Row: {
22415
+ assigned_user_id: string | null;
22416
+ budget_mandate_cents: number;
22417
+ complaint_description: string | null;
22418
+ created_at: string;
22419
+ created_by: string | null;
22420
+ customer_id: string | null;
22421
+ externe_referentie: string | null;
22422
+ first_time_fix: boolean | null;
22423
+ id: string;
22424
+ internal_notes: string | null;
22425
+ parent_werkbon_id: string | null;
22426
+ parsed_payload: import("../integrations/supabase/types").Json | null;
22427
+ project_number: string | null;
22428
+ room_number: string | null;
22429
+ scheduled_end_time: string | null;
22430
+ scheduled_start_time: string | null;
22431
+ sequence_number: number;
22432
+ source_pdf_path: string | null;
22433
+ status: string;
22434
+ technician_notes: string | null;
22435
+ technician_notes_raw: string | null;
22436
+ technician_task_description: string | null;
22437
+ updated_at: string;
22438
+ version: number;
22439
+ work_address: string | null;
22440
+ };
22441
+ Insert: {
22442
+ assigned_user_id?: string | null;
22443
+ budget_mandate_cents?: number;
22444
+ complaint_description?: string | null;
22445
+ created_at?: string;
22446
+ created_by?: string | null;
22447
+ customer_id?: string | null;
22448
+ externe_referentie?: string | null;
22449
+ first_time_fix?: boolean | null;
22450
+ id?: string;
22451
+ internal_notes?: string | null;
22452
+ parent_werkbon_id?: string | null;
22453
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
22454
+ project_number?: string | null;
22455
+ room_number?: string | null;
22456
+ scheduled_end_time?: string | null;
22457
+ scheduled_start_time?: string | null;
22458
+ sequence_number: number;
22459
+ source_pdf_path?: string | null;
22460
+ status?: string;
22461
+ technician_notes?: string | null;
22462
+ technician_notes_raw?: string | null;
22463
+ technician_task_description?: string | null;
22464
+ updated_at?: string;
22465
+ version?: number;
22466
+ work_address?: string | null;
22467
+ };
22468
+ Update: {
22469
+ assigned_user_id?: string | null;
22470
+ budget_mandate_cents?: number;
22471
+ complaint_description?: string | null;
22472
+ created_at?: string;
22473
+ created_by?: string | null;
22474
+ customer_id?: string | null;
22475
+ externe_referentie?: string | null;
22476
+ first_time_fix?: boolean | null;
22477
+ id?: string;
22478
+ internal_notes?: string | null;
22479
+ parent_werkbon_id?: string | null;
22480
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
22481
+ project_number?: string | null;
22482
+ room_number?: string | null;
22483
+ scheduled_end_time?: string | null;
22484
+ scheduled_start_time?: string | null;
22485
+ sequence_number?: number;
22486
+ source_pdf_path?: string | null;
22487
+ status?: string;
22488
+ technician_notes?: string | null;
22489
+ technician_notes_raw?: string | null;
22490
+ technician_task_description?: string | null;
22491
+ updated_at?: string;
22492
+ version?: number;
22493
+ work_address?: string | null;
22494
+ };
22495
+ Relationships: [{
22496
+ foreignKeyName: "werkbonnen_customer_id_fkey";
22497
+ columns: ["customer_id"];
22498
+ isOneToOne: false;
22499
+ referencedRelation: "customers";
22500
+ referencedColumns: ["id"];
22501
+ }, {
22502
+ foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
22503
+ columns: ["parent_werkbon_id"];
22504
+ isOneToOne: false;
22505
+ referencedRelation: "werkbonnen";
22506
+ referencedColumns: ["id"];
22507
+ }];
22508
+ };
21057
22509
  work_order_monteurs: {
21058
22510
  Row: {
21059
22511
  created_at: string;
@@ -21224,6 +22676,8 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21224
22676
  created_at: string | null;
21225
22677
  created_by: string | null;
21226
22678
  display_name: string | null;
22679
+ graph_subscription_expires_at: string | null;
22680
+ graph_subscription_id: string | null;
21227
22681
  has_access_token: boolean | null;
21228
22682
  has_client_id: boolean | null;
21229
22683
  has_client_secret: boolean | null;
@@ -21241,6 +22695,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21241
22695
  oauth_mode: string | null;
21242
22696
  provider: string | null;
21243
22697
  purpose_assignments: import("../integrations/supabase/types").Json | null;
22698
+ realtime_mode: string | null;
21244
22699
  scopes: string[] | null;
21245
22700
  smtp_host: string | null;
21246
22701
  smtp_port: number | null;
@@ -21255,6 +22710,8 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21255
22710
  created_at?: string | null;
21256
22711
  created_by?: string | null;
21257
22712
  display_name?: string | null;
22713
+ graph_subscription_expires_at?: string | null;
22714
+ graph_subscription_id?: string | null;
21258
22715
  has_access_token?: never;
21259
22716
  has_client_id?: never;
21260
22717
  has_client_secret?: never;
@@ -21272,6 +22729,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21272
22729
  oauth_mode?: string | null;
21273
22730
  provider?: string | null;
21274
22731
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
22732
+ realtime_mode?: string | null;
21275
22733
  scopes?: string[] | null;
21276
22734
  smtp_host?: string | null;
21277
22735
  smtp_port?: number | null;
@@ -21286,6 +22744,8 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21286
22744
  created_at?: string | null;
21287
22745
  created_by?: string | null;
21288
22746
  display_name?: string | null;
22747
+ graph_subscription_expires_at?: string | null;
22748
+ graph_subscription_id?: string | null;
21289
22749
  has_access_token?: never;
21290
22750
  has_client_id?: never;
21291
22751
  has_client_secret?: never;
@@ -21303,6 +22763,7 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21303
22763
  oauth_mode?: string | null;
21304
22764
  provider?: string | null;
21305
22765
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
22766
+ realtime_mode?: string | null;
21306
22767
  scopes?: string[] | null;
21307
22768
  smtp_host?: string | null;
21308
22769
  smtp_port?: number | null;
@@ -21846,6 +23307,33 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21846
23307
  };
21847
23308
  Returns: import("../integrations/supabase/types").Json;
21848
23309
  };
23310
+ claim_twinfield_push_batch: {
23311
+ Args: {
23312
+ _limit?: number;
23313
+ };
23314
+ Returns: {
23315
+ action: string;
23316
+ attempts: number;
23317
+ connection_id: string;
23318
+ created_at: string;
23319
+ customer_id: string | null;
23320
+ external_id: string | null;
23321
+ id: string;
23322
+ idempotency_key: string;
23323
+ last_error: string | null;
23324
+ next_attempt_at: string;
23325
+ office_code: string | null;
23326
+ payload: import("../integrations/supabase/types").Json;
23327
+ status: string;
23328
+ updated_at: string;
23329
+ }[];
23330
+ SetofOptions: {
23331
+ from: "*";
23332
+ to: "twinfield_push_queue";
23333
+ isOneToOne: false;
23334
+ isSetofReturn: true;
23335
+ };
23336
+ };
21849
23337
  cleanup_old_bookings: {
21850
23338
  Args: never;
21851
23339
  Returns: undefined;
@@ -21942,6 +23430,16 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
21942
23430
  status: string;
21943
23431
  }[];
21944
23432
  };
23433
+ email_auth_upsert_connection: {
23434
+ Args: {
23435
+ _account_email: string;
23436
+ _created_by: string;
23437
+ _is_active: boolean;
23438
+ _provider: string;
23439
+ _status: string;
23440
+ };
23441
+ Returns: string;
23442
+ };
21945
23443
  enqueue_cart_replan_if_unlocked: {
21946
23444
  Args: {
21947
23445
  p_order_id: string;
@@ -22214,6 +23712,10 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22214
23712
  };
22215
23713
  Returns: boolean;
22216
23714
  };
23715
+ has_twinfield_link: {
23716
+ Args: never;
23717
+ Returns: boolean;
23718
+ };
22217
23719
  is_authenticated: {
22218
23720
  Args: never;
22219
23721
  Returns: boolean;
@@ -22269,6 +23771,10 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22269
23771
  };
22270
23772
  Returns: string;
22271
23773
  };
23774
+ next_twinfield_code: {
23775
+ Args: never;
23776
+ Returns: string;
23777
+ };
22272
23778
  next_work_order_number: {
22273
23779
  Args: {
22274
23780
  p_parent_work_order_id?: string;
@@ -22383,6 +23889,12 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22383
23889
  };
22384
23890
  Returns: number;
22385
23891
  };
23892
+ reorder_customer_price_groups: {
23893
+ Args: {
23894
+ _ids: string[];
23895
+ };
23896
+ Returns: undefined;
23897
+ };
22386
23898
  reset_floriday_sync_cursor: {
22387
23899
  Args: {
22388
23900
  p_connection_id: string;
@@ -22396,6 +23908,12 @@ export declare const listExternalCustomers: import("@tanstack/start-client-core"
22396
23908
  };
22397
23909
  Returns: string;
22398
23910
  };
23911
+ retry_twinfield_push: {
23912
+ Args: {
23913
+ _customer_id: string;
23914
+ };
23915
+ Returns: number;
23916
+ };
22399
23917
  schedule_floriday_additional_services_sync: {
22400
23918
  Args: {
22401
23919
  p_apikey: string;
@@ -22980,6 +24498,237 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
22980
24498
  };
22981
24499
  Relationships: [];
22982
24500
  };
24501
+ ai_admin_credentials: {
24502
+ Row: {
24503
+ active: boolean;
24504
+ admin_key: string;
24505
+ created_at: string;
24506
+ id: string;
24507
+ label: string;
24508
+ provider_id: string;
24509
+ updated_at: string;
24510
+ };
24511
+ Insert: {
24512
+ active?: boolean;
24513
+ admin_key: string;
24514
+ created_at?: string;
24515
+ id?: string;
24516
+ label: string;
24517
+ provider_id: string;
24518
+ updated_at?: string;
24519
+ };
24520
+ Update: {
24521
+ active?: boolean;
24522
+ admin_key?: string;
24523
+ created_at?: string;
24524
+ id?: string;
24525
+ label?: string;
24526
+ provider_id?: string;
24527
+ updated_at?: string;
24528
+ };
24529
+ Relationships: [{
24530
+ foreignKeyName: "ai_admin_credentials_provider_id_fkey";
24531
+ columns: ["provider_id"];
24532
+ isOneToOne: true;
24533
+ referencedRelation: "ai_providers";
24534
+ referencedColumns: ["id"];
24535
+ }];
24536
+ };
24537
+ ai_credentials: {
24538
+ Row: {
24539
+ active: boolean;
24540
+ api_key: string;
24541
+ created_at: string;
24542
+ id: string;
24543
+ label: string;
24544
+ provider_id: string;
24545
+ updated_at: string;
24546
+ };
24547
+ Insert: {
24548
+ active?: boolean;
24549
+ api_key: string;
24550
+ created_at?: string;
24551
+ id?: string;
24552
+ label: string;
24553
+ provider_id: string;
24554
+ updated_at?: string;
24555
+ };
24556
+ Update: {
24557
+ active?: boolean;
24558
+ api_key?: string;
24559
+ created_at?: string;
24560
+ id?: string;
24561
+ label?: string;
24562
+ provider_id?: string;
24563
+ updated_at?: string;
24564
+ };
24565
+ Relationships: [{
24566
+ foreignKeyName: "ai_credentials_provider_id_fkey";
24567
+ columns: ["provider_id"];
24568
+ isOneToOne: false;
24569
+ referencedRelation: "ai_providers";
24570
+ referencedColumns: ["id"];
24571
+ }];
24572
+ };
24573
+ ai_model_pricing: {
24574
+ Row: {
24575
+ created_at: string;
24576
+ currency: string;
24577
+ fetched_at: string;
24578
+ id: string;
24579
+ input_per_mtok: number | null;
24580
+ model_slug: string;
24581
+ output_per_mtok: number | null;
24582
+ provider_slug: string;
24583
+ source: string;
24584
+ updated_at: string;
24585
+ };
24586
+ Insert: {
24587
+ created_at?: string;
24588
+ currency?: string;
24589
+ fetched_at?: string;
24590
+ id?: string;
24591
+ input_per_mtok?: number | null;
24592
+ model_slug: string;
24593
+ output_per_mtok?: number | null;
24594
+ provider_slug: string;
24595
+ source?: string;
24596
+ updated_at?: string;
24597
+ };
24598
+ Update: {
24599
+ created_at?: string;
24600
+ currency?: string;
24601
+ fetched_at?: string;
24602
+ id?: string;
24603
+ input_per_mtok?: number | null;
24604
+ model_slug?: string;
24605
+ output_per_mtok?: number | null;
24606
+ provider_slug?: string;
24607
+ source?: string;
24608
+ updated_at?: string;
24609
+ };
24610
+ Relationships: [];
24611
+ };
24612
+ ai_models: {
24613
+ Row: {
24614
+ active: boolean;
24615
+ context_window: number | null;
24616
+ created_at: string;
24617
+ display_name: string;
24618
+ id: string;
24619
+ is_default: boolean;
24620
+ modality: string;
24621
+ provider_id: string;
24622
+ slug: string;
24623
+ updated_at: string;
24624
+ };
24625
+ Insert: {
24626
+ active?: boolean;
24627
+ context_window?: number | null;
24628
+ created_at?: string;
24629
+ display_name: string;
24630
+ id?: string;
24631
+ is_default?: boolean;
24632
+ modality?: string;
24633
+ provider_id: string;
24634
+ slug: string;
24635
+ updated_at?: string;
24636
+ };
24637
+ Update: {
24638
+ active?: boolean;
24639
+ context_window?: number | null;
24640
+ created_at?: string;
24641
+ display_name?: string;
24642
+ id?: string;
24643
+ is_default?: boolean;
24644
+ modality?: string;
24645
+ provider_id?: string;
24646
+ slug?: string;
24647
+ updated_at?: string;
24648
+ };
24649
+ Relationships: [{
24650
+ foreignKeyName: "ai_models_provider_id_fkey";
24651
+ columns: ["provider_id"];
24652
+ isOneToOne: false;
24653
+ referencedRelation: "ai_providers";
24654
+ referencedColumns: ["id"];
24655
+ }];
24656
+ };
24657
+ ai_module_bindings: {
24658
+ Row: {
24659
+ consumer_module_id: string;
24660
+ created_at: string;
24661
+ credential_id: string;
24662
+ id: string;
24663
+ model_id: string;
24664
+ notes: string | null;
24665
+ updated_at: string;
24666
+ };
24667
+ Insert: {
24668
+ consumer_module_id: string;
24669
+ created_at?: string;
24670
+ credential_id: string;
24671
+ id?: string;
24672
+ model_id: string;
24673
+ notes?: string | null;
24674
+ updated_at?: string;
24675
+ };
24676
+ Update: {
24677
+ consumer_module_id?: string;
24678
+ created_at?: string;
24679
+ credential_id?: string;
24680
+ id?: string;
24681
+ model_id?: string;
24682
+ notes?: string | null;
24683
+ updated_at?: string;
24684
+ };
24685
+ Relationships: [{
24686
+ foreignKeyName: "ai_module_bindings_credential_id_fkey";
24687
+ columns: ["credential_id"];
24688
+ isOneToOne: false;
24689
+ referencedRelation: "ai_credentials";
24690
+ referencedColumns: ["id"];
24691
+ }, {
24692
+ foreignKeyName: "ai_module_bindings_model_id_fkey";
24693
+ columns: ["model_id"];
24694
+ isOneToOne: false;
24695
+ referencedRelation: "ai_models";
24696
+ referencedColumns: ["id"];
24697
+ }];
24698
+ };
24699
+ ai_providers: {
24700
+ Row: {
24701
+ active: boolean;
24702
+ auth_type: string;
24703
+ base_url: string | null;
24704
+ created_at: string;
24705
+ id: string;
24706
+ name: string;
24707
+ slug: string;
24708
+ updated_at: string;
24709
+ };
24710
+ Insert: {
24711
+ active?: boolean;
24712
+ auth_type?: string;
24713
+ base_url?: string | null;
24714
+ created_at?: string;
24715
+ id?: string;
24716
+ name: string;
24717
+ slug: string;
24718
+ updated_at?: string;
24719
+ };
24720
+ Update: {
24721
+ active?: boolean;
24722
+ auth_type?: string;
24723
+ base_url?: string | null;
24724
+ created_at?: string;
24725
+ id?: string;
24726
+ name?: string;
24727
+ slug?: string;
24728
+ updated_at?: string;
24729
+ };
24730
+ Relationships: [];
24731
+ };
22983
24732
  app_settings: {
22984
24733
  Row: {
22985
24734
  created_at: string;
@@ -23637,6 +25386,69 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
23637
25386
  referencedColumns: ["id"];
23638
25387
  }];
23639
25388
  };
25389
+ catalog_articles_cache: {
25390
+ Row: {
25391
+ created_at: string;
25392
+ default_price: number;
25393
+ default_vat_rate_ref: string | null;
25394
+ external_ref: string;
25395
+ id: string;
25396
+ name: string;
25397
+ updated_at: string;
25398
+ user_id: string;
25399
+ };
25400
+ Insert: {
25401
+ created_at?: string;
25402
+ default_price?: number;
25403
+ default_vat_rate_ref?: string | null;
25404
+ external_ref: string;
25405
+ id?: string;
25406
+ name: string;
25407
+ updated_at?: string;
25408
+ user_id: string;
25409
+ };
25410
+ Update: {
25411
+ created_at?: string;
25412
+ default_price?: number;
25413
+ default_vat_rate_ref?: string | null;
25414
+ external_ref?: string;
25415
+ id?: string;
25416
+ name?: string;
25417
+ updated_at?: string;
25418
+ user_id?: string;
25419
+ };
25420
+ Relationships: [];
25421
+ };
25422
+ catalog_vat_rates_cache: {
25423
+ Row: {
25424
+ created_at: string;
25425
+ external_ref: string;
25426
+ id: string;
25427
+ label: string;
25428
+ percentage: number;
25429
+ updated_at: string;
25430
+ user_id: string;
25431
+ };
25432
+ Insert: {
25433
+ created_at?: string;
25434
+ external_ref: string;
25435
+ id?: string;
25436
+ label: string;
25437
+ percentage?: number;
25438
+ updated_at?: string;
25439
+ user_id: string;
25440
+ };
25441
+ Update: {
25442
+ created_at?: string;
25443
+ external_ref?: string;
25444
+ id?: string;
25445
+ label?: string;
25446
+ percentage?: number;
25447
+ updated_at?: string;
25448
+ user_id?: string;
25449
+ };
25450
+ Relationships: [];
25451
+ };
23640
25452
  collections: {
23641
25453
  Row: {
23642
25454
  created_at: string;
@@ -23886,6 +25698,105 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
23886
25698
  };
23887
25699
  Relationships: [];
23888
25700
  };
25701
+ customer_price_group_members: {
25702
+ Row: {
25703
+ created_at: string;
25704
+ customer_key: string;
25705
+ id: string;
25706
+ owner_id: string;
25707
+ price_group_id: string;
25708
+ };
25709
+ Insert: {
25710
+ created_at?: string;
25711
+ customer_key: string;
25712
+ id?: string;
25713
+ owner_id?: string;
25714
+ price_group_id: string;
25715
+ };
25716
+ Update: {
25717
+ created_at?: string;
25718
+ customer_key?: string;
25719
+ id?: string;
25720
+ owner_id?: string;
25721
+ price_group_id?: string;
25722
+ };
25723
+ Relationships: [{
25724
+ foreignKeyName: "customer_price_group_members_price_group_id_fkey";
25725
+ columns: ["price_group_id"];
25726
+ isOneToOne: false;
25727
+ referencedRelation: "customer_price_groups";
25728
+ referencedColumns: ["id"];
25729
+ }];
25730
+ };
25731
+ customer_price_groups: {
25732
+ Row: {
25733
+ calc_type: string | null;
25734
+ calc_value: number | null;
25735
+ calc_value_type: string | null;
25736
+ created_at: string;
25737
+ currency: string;
25738
+ distribute_over: string | null;
25739
+ group_type: string;
25740
+ handling_fee: number | null;
25741
+ id: string;
25742
+ include_stickers: boolean;
25743
+ is_active: boolean;
25744
+ name: string;
25745
+ owner_id: string;
25746
+ price_scope: string;
25747
+ pricing_mode: string;
25748
+ rounding: string;
25749
+ rounding_step: number;
25750
+ sort_order: number;
25751
+ unit: string;
25752
+ updated_at: string;
25753
+ };
25754
+ Insert: {
25755
+ calc_type?: string | null;
25756
+ calc_value?: number | null;
25757
+ calc_value_type?: string | null;
25758
+ created_at?: string;
25759
+ currency?: string;
25760
+ distribute_over?: string | null;
25761
+ group_type?: string;
25762
+ handling_fee?: number | null;
25763
+ id?: string;
25764
+ include_stickers?: boolean;
25765
+ is_active?: boolean;
25766
+ name: string;
25767
+ owner_id?: string;
25768
+ price_scope?: string;
25769
+ pricing_mode?: string;
25770
+ rounding?: string;
25771
+ rounding_step?: number;
25772
+ sort_order?: number;
25773
+ unit?: string;
25774
+ updated_at?: string;
25775
+ };
25776
+ Update: {
25777
+ calc_type?: string | null;
25778
+ calc_value?: number | null;
25779
+ calc_value_type?: string | null;
25780
+ created_at?: string;
25781
+ currency?: string;
25782
+ distribute_over?: string | null;
25783
+ group_type?: string;
25784
+ handling_fee?: number | null;
25785
+ id?: string;
25786
+ include_stickers?: boolean;
25787
+ is_active?: boolean;
25788
+ name?: string;
25789
+ owner_id?: string;
25790
+ price_scope?: string;
25791
+ pricing_mode?: string;
25792
+ rounding?: string;
25793
+ rounding_step?: number;
25794
+ sort_order?: number;
25795
+ unit?: string;
25796
+ updated_at?: string;
25797
+ };
25798
+ Relationships: [];
25799
+ };
23889
25800
  customer_selected_assortment: {
23890
25801
  Row: {
23891
25802
  article_number: string | null;
@@ -24039,6 +25950,10 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
24039
25950
  sync_error: string | null;
24040
25951
  sync_status: string;
24041
25952
  trade_forms: string[];
25953
+ twinfield_code: string | null;
25954
+ twinfield_last_hash: string | null;
25955
+ twinfield_sync_error: string | null;
25956
+ twinfield_synced_at: string | null;
24042
25957
  updated_at: string;
24043
25958
  vat_display: string | null;
24044
25959
  vat_number: string | null;
@@ -24106,6 +26021,10 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
24106
26021
  sync_error?: string | null;
24107
26022
  sync_status?: string;
24108
26023
  trade_forms?: string[];
26024
+ twinfield_code?: string | null;
26025
+ twinfield_last_hash?: string | null;
26026
+ twinfield_sync_error?: string | null;
26027
+ twinfield_synced_at?: string | null;
24109
26028
  updated_at?: string;
24110
26029
  vat_display?: string | null;
24111
26030
  vat_number?: string | null;
@@ -24173,6 +26092,10 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
24173
26092
  sync_error?: string | null;
24174
26093
  sync_status?: string;
24175
26094
  trade_forms?: string[];
26095
+ twinfield_code?: string | null;
26096
+ twinfield_last_hash?: string | null;
26097
+ twinfield_sync_error?: string | null;
26098
+ twinfield_synced_at?: string | null;
24176
26099
  updated_at?: string;
24177
26100
  vat_display?: string | null;
24178
26101
  vat_number?: string | null;
@@ -31155,6 +33078,27 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31155
33078
  };
31156
33079
  Relationships: [];
31157
33080
  };
33081
+ technician_rates: {
33082
+ Row: {
33083
+ created_at: string;
33084
+ hourly_rate_cents: number;
33085
+ updated_at: string;
33086
+ user_id: string;
33087
+ };
33088
+ Insert: {
33089
+ created_at?: string;
33090
+ hourly_rate_cents?: number;
33091
+ updated_at?: string;
33092
+ user_id: string;
33093
+ };
33094
+ Update: {
33095
+ created_at?: string;
33096
+ hourly_rate_cents?: number;
33097
+ updated_at?: string;
33098
+ user_id?: string;
33099
+ };
33100
+ Relationships: [];
33101
+ };
31158
33102
  tenants: {
31159
33103
  Row: {
31160
33104
  created_at: string;
@@ -31624,6 +33568,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31624
33568
  country: string | null;
31625
33569
  created_at: string;
31626
33570
  email: string | null;
33571
+ external_group_key: string | null;
31627
33572
  id: string;
31628
33573
  last_synced_at: string | null;
31629
33574
  name: string;
@@ -31642,6 +33587,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31642
33587
  country?: string | null;
31643
33588
  created_at?: string;
31644
33589
  email?: string | null;
33590
+ external_group_key?: string | null;
31645
33591
  id?: string;
31646
33592
  last_synced_at?: string | null;
31647
33593
  name: string;
@@ -31660,6 +33606,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31660
33606
  country?: string | null;
31661
33607
  created_at?: string;
31662
33608
  email?: string | null;
33609
+ external_group_key?: string | null;
31663
33610
  id?: string;
31664
33611
  last_synced_at?: string | null;
31665
33612
  name?: string;
@@ -31824,6 +33771,8 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31824
33771
  twinfield_invoice_settings: {
31825
33772
  Row: {
31826
33773
  created_at: string;
33774
+ debtor_gl_account: string;
33775
+ default_credit_invoice_type: string | null;
31827
33776
  default_gl_account: string;
31828
33777
  default_invoice_type: string;
31829
33778
  default_payment_term_days: number;
@@ -31832,11 +33781,15 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31832
33781
  invoice_enabled_fo: boolean;
31833
33782
  invoice_enabled_ho: boolean;
31834
33783
  invoice_enabled_mo: boolean;
33784
+ payment_gl_account: string;
33785
+ payment_journal_code: string;
31835
33786
  updated_at: string;
31836
33787
  user_id: string;
31837
33788
  };
31838
33789
  Insert: {
31839
33790
  created_at?: string;
33791
+ debtor_gl_account?: string;
33792
+ default_credit_invoice_type?: string | null;
31840
33793
  default_gl_account?: string;
31841
33794
  default_invoice_type?: string;
31842
33795
  default_payment_term_days?: number;
@@ -31845,11 +33798,15 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31845
33798
  invoice_enabled_fo?: boolean;
31846
33799
  invoice_enabled_ho?: boolean;
31847
33800
  invoice_enabled_mo?: boolean;
33801
+ payment_gl_account?: string;
33802
+ payment_journal_code?: string;
31848
33803
  updated_at?: string;
31849
33804
  user_id: string;
31850
33805
  };
31851
33806
  Update: {
31852
33807
  created_at?: string;
33808
+ debtor_gl_account?: string;
33809
+ default_credit_invoice_type?: string | null;
31853
33810
  default_gl_account?: string;
31854
33811
  default_invoice_type?: string;
31855
33812
  default_payment_term_days?: number;
@@ -31858,6 +33815,8 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
31858
33815
  invoice_enabled_fo?: boolean;
31859
33816
  invoice_enabled_ho?: boolean;
31860
33817
  invoice_enabled_mo?: boolean;
33818
+ payment_gl_account?: string;
33819
+ payment_journal_code?: string;
31861
33820
  updated_at?: string;
31862
33821
  user_id?: string;
31863
33822
  };
@@ -32078,43 +34037,49 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32078
34037
  };
32079
34038
  twinfield_push_queue: {
32080
34039
  Row: {
34040
+ action: string;
32081
34041
  attempts: number;
32082
34042
  connection_id: string;
32083
34043
  created_at: string;
34044
+ customer_id: string | null;
32084
34045
  external_id: string | null;
32085
34046
  id: string;
32086
34047
  idempotency_key: string;
32087
34048
  last_error: string | null;
32088
34049
  next_attempt_at: string;
32089
- office_code: string;
34050
+ office_code: string | null;
32090
34051
  payload: import("../integrations/supabase/types").Json;
32091
34052
  status: string;
32092
34053
  updated_at: string;
32093
34054
  };
32094
34055
  Insert: {
34056
+ action?: string;
32095
34057
  attempts?: number;
32096
34058
  connection_id: string;
32097
34059
  created_at?: string;
34060
+ customer_id?: string | null;
32098
34061
  external_id?: string | null;
32099
34062
  id?: string;
32100
34063
  idempotency_key: string;
32101
34064
  last_error?: string | null;
32102
34065
  next_attempt_at?: string;
32103
- office_code: string;
34066
+ office_code?: string | null;
32104
34067
  payload: import("../integrations/supabase/types").Json;
32105
34068
  status?: string;
32106
34069
  updated_at?: string;
32107
34070
  };
32108
34071
  Update: {
34072
+ action?: string;
32109
34073
  attempts?: number;
32110
34074
  connection_id?: string;
32111
34075
  created_at?: string;
34076
+ customer_id?: string | null;
32112
34077
  external_id?: string | null;
32113
34078
  id?: string;
32114
34079
  idempotency_key?: string;
32115
34080
  last_error?: string | null;
32116
34081
  next_attempt_at?: string;
32117
- office_code?: string;
34082
+ office_code?: string | null;
32118
34083
  payload?: import("../integrations/supabase/types").Json;
32119
34084
  status?: string;
32120
34085
  updated_at?: string;
@@ -32125,6 +34090,12 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32125
34090
  isOneToOne: false;
32126
34091
  referencedRelation: "twinfield_connections";
32127
34092
  referencedColumns: ["id"];
34093
+ }, {
34094
+ foreignKeyName: "twinfield_push_queue_customer_id_fkey";
34095
+ columns: ["customer_id"];
34096
+ isOneToOne: false;
34097
+ referencedRelation: "customers";
34098
+ referencedColumns: ["id"];
32128
34099
  }];
32129
34100
  };
32130
34101
  twinfield_request_metrics: {
@@ -32400,6 +34371,246 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32400
34371
  };
32401
34372
  Relationships: [];
32402
34373
  };
34374
+ werkbon_package_lines: {
34375
+ Row: {
34376
+ created_at: string;
34377
+ created_by: string | null;
34378
+ id: string;
34379
+ package_id: string;
34380
+ quantity: number;
34381
+ unit_price_cents_snapshot: number;
34382
+ werkbon_id: string;
34383
+ };
34384
+ Insert: {
34385
+ created_at?: string;
34386
+ created_by?: string | null;
34387
+ id?: string;
34388
+ package_id: string;
34389
+ quantity?: number;
34390
+ unit_price_cents_snapshot?: number;
34391
+ werkbon_id: string;
34392
+ };
34393
+ Update: {
34394
+ created_at?: string;
34395
+ created_by?: string | null;
34396
+ id?: string;
34397
+ package_id?: string;
34398
+ quantity?: number;
34399
+ unit_price_cents_snapshot?: number;
34400
+ werkbon_id?: string;
34401
+ };
34402
+ Relationships: [{
34403
+ foreignKeyName: "werkbon_package_lines_package_id_fkey";
34404
+ columns: ["package_id"];
34405
+ isOneToOne: false;
34406
+ referencedRelation: "werkbon_packages";
34407
+ referencedColumns: ["id"];
34408
+ }, {
34409
+ foreignKeyName: "werkbon_package_lines_werkbon_id_fkey";
34410
+ columns: ["werkbon_id"];
34411
+ isOneToOne: false;
34412
+ referencedRelation: "werkbonnen";
34413
+ referencedColumns: ["id"];
34414
+ }];
34415
+ };
34416
+ werkbon_packages: {
34417
+ Row: {
34418
+ active: boolean;
34419
+ code: string;
34420
+ created_at: string;
34421
+ default_quantity: number;
34422
+ description: string | null;
34423
+ id: string;
34424
+ name: string;
34425
+ unit_price_cents: number;
34426
+ updated_at: string;
34427
+ };
34428
+ Insert: {
34429
+ active?: boolean;
34430
+ code: string;
34431
+ created_at?: string;
34432
+ default_quantity?: number;
34433
+ description?: string | null;
34434
+ id?: string;
34435
+ name: string;
34436
+ unit_price_cents?: number;
34437
+ updated_at?: string;
34438
+ };
34439
+ Update: {
34440
+ active?: boolean;
34441
+ code?: string;
34442
+ created_at?: string;
34443
+ default_quantity?: number;
34444
+ description?: string | null;
34445
+ id?: string;
34446
+ name?: string;
34447
+ unit_price_cents?: number;
34448
+ updated_at?: string;
34449
+ };
34450
+ Relationships: [];
34451
+ };
34452
+ werkbon_photos: {
34453
+ Row: {
34454
+ created_at: string;
34455
+ id: string;
34456
+ storage_path: string;
34457
+ user_id: string;
34458
+ werkbon_id: string;
34459
+ };
34460
+ Insert: {
34461
+ created_at?: string;
34462
+ id?: string;
34463
+ storage_path: string;
34464
+ user_id: string;
34465
+ werkbon_id: string;
34466
+ };
34467
+ Update: {
34468
+ created_at?: string;
34469
+ id?: string;
34470
+ storage_path?: string;
34471
+ user_id?: string;
34472
+ werkbon_id?: string;
34473
+ };
34474
+ Relationships: [{
34475
+ foreignKeyName: "werkbon_photos_werkbon_id_fkey";
34476
+ columns: ["werkbon_id"];
34477
+ isOneToOne: false;
34478
+ referencedRelation: "werkbonnen";
34479
+ referencedColumns: ["id"];
34480
+ }];
34481
+ };
34482
+ werkbon_time_logs: {
34483
+ Row: {
34484
+ activity: string;
34485
+ created_at: string;
34486
+ ended_at: string | null;
34487
+ id: string;
34488
+ started_at: string;
34489
+ user_id: string;
34490
+ werkbon_id: string;
34491
+ };
34492
+ Insert: {
34493
+ activity: string;
34494
+ created_at?: string;
34495
+ ended_at?: string | null;
34496
+ id?: string;
34497
+ started_at?: string;
34498
+ user_id: string;
34499
+ werkbon_id: string;
34500
+ };
34501
+ Update: {
34502
+ activity?: string;
34503
+ created_at?: string;
34504
+ ended_at?: string | null;
34505
+ id?: string;
34506
+ started_at?: string;
34507
+ user_id?: string;
34508
+ werkbon_id?: string;
34509
+ };
34510
+ Relationships: [{
34511
+ foreignKeyName: "werkbon_time_logs_werkbon_id_fkey";
34512
+ columns: ["werkbon_id"];
34513
+ isOneToOne: false;
34514
+ referencedRelation: "werkbonnen";
34515
+ referencedColumns: ["id"];
34516
+ }];
34517
+ };
34518
+ werkbonnen: {
34519
+ Row: {
34520
+ assigned_user_id: string | null;
34521
+ budget_mandate_cents: number;
34522
+ complaint_description: string | null;
34523
+ created_at: string;
34524
+ created_by: string | null;
34525
+ customer_id: string | null;
34526
+ externe_referentie: string | null;
34527
+ first_time_fix: boolean | null;
34528
+ id: string;
34529
+ internal_notes: string | null;
34530
+ parent_werkbon_id: string | null;
34531
+ parsed_payload: import("../integrations/supabase/types").Json | null;
34532
+ project_number: string | null;
34533
+ room_number: string | null;
34534
+ scheduled_end_time: string | null;
34535
+ scheduled_start_time: string | null;
34536
+ sequence_number: number;
34537
+ source_pdf_path: string | null;
34538
+ status: string;
34539
+ technician_notes: string | null;
34540
+ technician_notes_raw: string | null;
34541
+ technician_task_description: string | null;
34542
+ updated_at: string;
34543
+ version: number;
34544
+ work_address: string | null;
34545
+ };
34546
+ Insert: {
34547
+ assigned_user_id?: string | null;
34548
+ budget_mandate_cents?: number;
34549
+ complaint_description?: string | null;
34550
+ created_at?: string;
34551
+ created_by?: string | null;
34552
+ customer_id?: string | null;
34553
+ externe_referentie?: string | null;
34554
+ first_time_fix?: boolean | null;
34555
+ id?: string;
34556
+ internal_notes?: string | null;
34557
+ parent_werkbon_id?: string | null;
34558
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
34559
+ project_number?: string | null;
34560
+ room_number?: string | null;
34561
+ scheduled_end_time?: string | null;
34562
+ scheduled_start_time?: string | null;
34563
+ sequence_number: number;
34564
+ source_pdf_path?: string | null;
34565
+ status?: string;
34566
+ technician_notes?: string | null;
34567
+ technician_notes_raw?: string | null;
34568
+ technician_task_description?: string | null;
34569
+ updated_at?: string;
34570
+ version?: number;
34571
+ work_address?: string | null;
34572
+ };
34573
+ Update: {
34574
+ assigned_user_id?: string | null;
34575
+ budget_mandate_cents?: number;
34576
+ complaint_description?: string | null;
34577
+ created_at?: string;
34578
+ created_by?: string | null;
34579
+ customer_id?: string | null;
34580
+ externe_referentie?: string | null;
34581
+ first_time_fix?: boolean | null;
34582
+ id?: string;
34583
+ internal_notes?: string | null;
34584
+ parent_werkbon_id?: string | null;
34585
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
34586
+ project_number?: string | null;
34587
+ room_number?: string | null;
34588
+ scheduled_end_time?: string | null;
34589
+ scheduled_start_time?: string | null;
34590
+ sequence_number?: number;
34591
+ source_pdf_path?: string | null;
34592
+ status?: string;
34593
+ technician_notes?: string | null;
34594
+ technician_notes_raw?: string | null;
34595
+ technician_task_description?: string | null;
34596
+ updated_at?: string;
34597
+ version?: number;
34598
+ work_address?: string | null;
34599
+ };
34600
+ Relationships: [{
34601
+ foreignKeyName: "werkbonnen_customer_id_fkey";
34602
+ columns: ["customer_id"];
34603
+ isOneToOne: false;
34604
+ referencedRelation: "customers";
34605
+ referencedColumns: ["id"];
34606
+ }, {
34607
+ foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
34608
+ columns: ["parent_werkbon_id"];
34609
+ isOneToOne: false;
34610
+ referencedRelation: "werkbonnen";
34611
+ referencedColumns: ["id"];
34612
+ }];
34613
+ };
32403
34614
  work_order_monteurs: {
32404
34615
  Row: {
32405
34616
  created_at: string;
@@ -32570,6 +34781,8 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32570
34781
  created_at: string | null;
32571
34782
  created_by: string | null;
32572
34783
  display_name: string | null;
34784
+ graph_subscription_expires_at: string | null;
34785
+ graph_subscription_id: string | null;
32573
34786
  has_access_token: boolean | null;
32574
34787
  has_client_id: boolean | null;
32575
34788
  has_client_secret: boolean | null;
@@ -32587,6 +34800,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32587
34800
  oauth_mode: string | null;
32588
34801
  provider: string | null;
32589
34802
  purpose_assignments: import("../integrations/supabase/types").Json | null;
34803
+ realtime_mode: string | null;
32590
34804
  scopes: string[] | null;
32591
34805
  smtp_host: string | null;
32592
34806
  smtp_port: number | null;
@@ -32601,6 +34815,8 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32601
34815
  created_at?: string | null;
32602
34816
  created_by?: string | null;
32603
34817
  display_name?: string | null;
34818
+ graph_subscription_expires_at?: string | null;
34819
+ graph_subscription_id?: string | null;
32604
34820
  has_access_token?: never;
32605
34821
  has_client_id?: never;
32606
34822
  has_client_secret?: never;
@@ -32618,6 +34834,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32618
34834
  oauth_mode?: string | null;
32619
34835
  provider?: string | null;
32620
34836
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
34837
+ realtime_mode?: string | null;
32621
34838
  scopes?: string[] | null;
32622
34839
  smtp_host?: string | null;
32623
34840
  smtp_port?: number | null;
@@ -32632,6 +34849,8 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32632
34849
  created_at?: string | null;
32633
34850
  created_by?: string | null;
32634
34851
  display_name?: string | null;
34852
+ graph_subscription_expires_at?: string | null;
34853
+ graph_subscription_id?: string | null;
32635
34854
  has_access_token?: never;
32636
34855
  has_client_id?: never;
32637
34856
  has_client_secret?: never;
@@ -32649,6 +34868,7 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
32649
34868
  oauth_mode?: string | null;
32650
34869
  provider?: string | null;
32651
34870
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
34871
+ realtime_mode?: string | null;
32652
34872
  scopes?: string[] | null;
32653
34873
  smtp_host?: string | null;
32654
34874
  smtp_port?: number | null;
@@ -33192,6 +35412,33 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
33192
35412
  };
33193
35413
  Returns: import("../integrations/supabase/types").Json;
33194
35414
  };
35415
+ claim_twinfield_push_batch: {
35416
+ Args: {
35417
+ _limit?: number;
35418
+ };
35419
+ Returns: {
35420
+ action: string;
35421
+ attempts: number;
35422
+ connection_id: string;
35423
+ created_at: string;
35424
+ customer_id: string | null;
35425
+ external_id: string | null;
35426
+ id: string;
35427
+ idempotency_key: string;
35428
+ last_error: string | null;
35429
+ next_attempt_at: string;
35430
+ office_code: string | null;
35431
+ payload: import("../integrations/supabase/types").Json;
35432
+ status: string;
35433
+ updated_at: string;
35434
+ }[];
35435
+ SetofOptions: {
35436
+ from: "*";
35437
+ to: "twinfield_push_queue";
35438
+ isOneToOne: false;
35439
+ isSetofReturn: true;
35440
+ };
35441
+ };
33195
35442
  cleanup_old_bookings: {
33196
35443
  Args: never;
33197
35444
  Returns: undefined;
@@ -33288,6 +35535,16 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
33288
35535
  status: string;
33289
35536
  }[];
33290
35537
  };
35538
+ email_auth_upsert_connection: {
35539
+ Args: {
35540
+ _account_email: string;
35541
+ _created_by: string;
35542
+ _is_active: boolean;
35543
+ _provider: string;
35544
+ _status: string;
35545
+ };
35546
+ Returns: string;
35547
+ };
33291
35548
  enqueue_cart_replan_if_unlocked: {
33292
35549
  Args: {
33293
35550
  p_order_id: string;
@@ -33560,6 +35817,10 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
33560
35817
  };
33561
35818
  Returns: boolean;
33562
35819
  };
35820
+ has_twinfield_link: {
35821
+ Args: never;
35822
+ Returns: boolean;
35823
+ };
33563
35824
  is_authenticated: {
33564
35825
  Args: never;
33565
35826
  Returns: boolean;
@@ -33615,6 +35876,10 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
33615
35876
  };
33616
35877
  Returns: string;
33617
35878
  };
35879
+ next_twinfield_code: {
35880
+ Args: never;
35881
+ Returns: string;
35882
+ };
33618
35883
  next_work_order_number: {
33619
35884
  Args: {
33620
35885
  p_parent_work_order_id?: string;
@@ -33729,6 +35994,12 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
33729
35994
  };
33730
35995
  Returns: number;
33731
35996
  };
35997
+ reorder_customer_price_groups: {
35998
+ Args: {
35999
+ _ids: string[];
36000
+ };
36001
+ Returns: undefined;
36002
+ };
33732
36003
  reset_floriday_sync_cursor: {
33733
36004
  Args: {
33734
36005
  p_connection_id: string;
@@ -33742,6 +36013,12 @@ export declare const getGroupedCustomerDetail: import("@tanstack/start-client-co
33742
36013
  };
33743
36014
  Returns: string;
33744
36015
  };
36016
+ retry_twinfield_push: {
36017
+ Args: {
36018
+ _customer_id: string;
36019
+ };
36020
+ Returns: number;
36021
+ };
33745
36022
  schedule_floriday_additional_services_sync: {
33746
36023
  Args: {
33747
36024
  p_apikey: string;
@@ -34324,6 +36601,237 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
34324
36601
  };
34325
36602
  Relationships: [];
34326
36603
  };
36604
+ ai_admin_credentials: {
36605
+ Row: {
36606
+ active: boolean;
36607
+ admin_key: string;
36608
+ created_at: string;
36609
+ id: string;
36610
+ label: string;
36611
+ provider_id: string;
36612
+ updated_at: string;
36613
+ };
36614
+ Insert: {
36615
+ active?: boolean;
36616
+ admin_key: string;
36617
+ created_at?: string;
36618
+ id?: string;
36619
+ label: string;
36620
+ provider_id: string;
36621
+ updated_at?: string;
36622
+ };
36623
+ Update: {
36624
+ active?: boolean;
36625
+ admin_key?: string;
36626
+ created_at?: string;
36627
+ id?: string;
36628
+ label?: string;
36629
+ provider_id?: string;
36630
+ updated_at?: string;
36631
+ };
36632
+ Relationships: [{
36633
+ foreignKeyName: "ai_admin_credentials_provider_id_fkey";
36634
+ columns: ["provider_id"];
36635
+ isOneToOne: true;
36636
+ referencedRelation: "ai_providers";
36637
+ referencedColumns: ["id"];
36638
+ }];
36639
+ };
36640
+ ai_credentials: {
36641
+ Row: {
36642
+ active: boolean;
36643
+ api_key: string;
36644
+ created_at: string;
36645
+ id: string;
36646
+ label: string;
36647
+ provider_id: string;
36648
+ updated_at: string;
36649
+ };
36650
+ Insert: {
36651
+ active?: boolean;
36652
+ api_key: string;
36653
+ created_at?: string;
36654
+ id?: string;
36655
+ label: string;
36656
+ provider_id: string;
36657
+ updated_at?: string;
36658
+ };
36659
+ Update: {
36660
+ active?: boolean;
36661
+ api_key?: string;
36662
+ created_at?: string;
36663
+ id?: string;
36664
+ label?: string;
36665
+ provider_id?: string;
36666
+ updated_at?: string;
36667
+ };
36668
+ Relationships: [{
36669
+ foreignKeyName: "ai_credentials_provider_id_fkey";
36670
+ columns: ["provider_id"];
36671
+ isOneToOne: false;
36672
+ referencedRelation: "ai_providers";
36673
+ referencedColumns: ["id"];
36674
+ }];
36675
+ };
36676
+ ai_model_pricing: {
36677
+ Row: {
36678
+ created_at: string;
36679
+ currency: string;
36680
+ fetched_at: string;
36681
+ id: string;
36682
+ input_per_mtok: number | null;
36683
+ model_slug: string;
36684
+ output_per_mtok: number | null;
36685
+ provider_slug: string;
36686
+ source: string;
36687
+ updated_at: string;
36688
+ };
36689
+ Insert: {
36690
+ created_at?: string;
36691
+ currency?: string;
36692
+ fetched_at?: string;
36693
+ id?: string;
36694
+ input_per_mtok?: number | null;
36695
+ model_slug: string;
36696
+ output_per_mtok?: number | null;
36697
+ provider_slug: string;
36698
+ source?: string;
36699
+ updated_at?: string;
36700
+ };
36701
+ Update: {
36702
+ created_at?: string;
36703
+ currency?: string;
36704
+ fetched_at?: string;
36705
+ id?: string;
36706
+ input_per_mtok?: number | null;
36707
+ model_slug?: string;
36708
+ output_per_mtok?: number | null;
36709
+ provider_slug?: string;
36710
+ source?: string;
36711
+ updated_at?: string;
36712
+ };
36713
+ Relationships: [];
36714
+ };
36715
+ ai_models: {
36716
+ Row: {
36717
+ active: boolean;
36718
+ context_window: number | null;
36719
+ created_at: string;
36720
+ display_name: string;
36721
+ id: string;
36722
+ is_default: boolean;
36723
+ modality: string;
36724
+ provider_id: string;
36725
+ slug: string;
36726
+ updated_at: string;
36727
+ };
36728
+ Insert: {
36729
+ active?: boolean;
36730
+ context_window?: number | null;
36731
+ created_at?: string;
36732
+ display_name: string;
36733
+ id?: string;
36734
+ is_default?: boolean;
36735
+ modality?: string;
36736
+ provider_id: string;
36737
+ slug: string;
36738
+ updated_at?: string;
36739
+ };
36740
+ Update: {
36741
+ active?: boolean;
36742
+ context_window?: number | null;
36743
+ created_at?: string;
36744
+ display_name?: string;
36745
+ id?: string;
36746
+ is_default?: boolean;
36747
+ modality?: string;
36748
+ provider_id?: string;
36749
+ slug?: string;
36750
+ updated_at?: string;
36751
+ };
36752
+ Relationships: [{
36753
+ foreignKeyName: "ai_models_provider_id_fkey";
36754
+ columns: ["provider_id"];
36755
+ isOneToOne: false;
36756
+ referencedRelation: "ai_providers";
36757
+ referencedColumns: ["id"];
36758
+ }];
36759
+ };
36760
+ ai_module_bindings: {
36761
+ Row: {
36762
+ consumer_module_id: string;
36763
+ created_at: string;
36764
+ credential_id: string;
36765
+ id: string;
36766
+ model_id: string;
36767
+ notes: string | null;
36768
+ updated_at: string;
36769
+ };
36770
+ Insert: {
36771
+ consumer_module_id: string;
36772
+ created_at?: string;
36773
+ credential_id: string;
36774
+ id?: string;
36775
+ model_id: string;
36776
+ notes?: string | null;
36777
+ updated_at?: string;
36778
+ };
36779
+ Update: {
36780
+ consumer_module_id?: string;
36781
+ created_at?: string;
36782
+ credential_id?: string;
36783
+ id?: string;
36784
+ model_id?: string;
36785
+ notes?: string | null;
36786
+ updated_at?: string;
36787
+ };
36788
+ Relationships: [{
36789
+ foreignKeyName: "ai_module_bindings_credential_id_fkey";
36790
+ columns: ["credential_id"];
36791
+ isOneToOne: false;
36792
+ referencedRelation: "ai_credentials";
36793
+ referencedColumns: ["id"];
36794
+ }, {
36795
+ foreignKeyName: "ai_module_bindings_model_id_fkey";
36796
+ columns: ["model_id"];
36797
+ isOneToOne: false;
36798
+ referencedRelation: "ai_models";
36799
+ referencedColumns: ["id"];
36800
+ }];
36801
+ };
36802
+ ai_providers: {
36803
+ Row: {
36804
+ active: boolean;
36805
+ auth_type: string;
36806
+ base_url: string | null;
36807
+ created_at: string;
36808
+ id: string;
36809
+ name: string;
36810
+ slug: string;
36811
+ updated_at: string;
36812
+ };
36813
+ Insert: {
36814
+ active?: boolean;
36815
+ auth_type?: string;
36816
+ base_url?: string | null;
36817
+ created_at?: string;
36818
+ id?: string;
36819
+ name: string;
36820
+ slug: string;
36821
+ updated_at?: string;
36822
+ };
36823
+ Update: {
36824
+ active?: boolean;
36825
+ auth_type?: string;
36826
+ base_url?: string | null;
36827
+ created_at?: string;
36828
+ id?: string;
36829
+ name?: string;
36830
+ slug?: string;
36831
+ updated_at?: string;
36832
+ };
36833
+ Relationships: [];
36834
+ };
34327
36835
  app_settings: {
34328
36836
  Row: {
34329
36837
  created_at: string;
@@ -34981,6 +37489,69 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
34981
37489
  referencedColumns: ["id"];
34982
37490
  }];
34983
37491
  };
37492
+ catalog_articles_cache: {
37493
+ Row: {
37494
+ created_at: string;
37495
+ default_price: number;
37496
+ default_vat_rate_ref: string | null;
37497
+ external_ref: string;
37498
+ id: string;
37499
+ name: string;
37500
+ updated_at: string;
37501
+ user_id: string;
37502
+ };
37503
+ Insert: {
37504
+ created_at?: string;
37505
+ default_price?: number;
37506
+ default_vat_rate_ref?: string | null;
37507
+ external_ref: string;
37508
+ id?: string;
37509
+ name: string;
37510
+ updated_at?: string;
37511
+ user_id: string;
37512
+ };
37513
+ Update: {
37514
+ created_at?: string;
37515
+ default_price?: number;
37516
+ default_vat_rate_ref?: string | null;
37517
+ external_ref?: string;
37518
+ id?: string;
37519
+ name?: string;
37520
+ updated_at?: string;
37521
+ user_id?: string;
37522
+ };
37523
+ Relationships: [];
37524
+ };
37525
+ catalog_vat_rates_cache: {
37526
+ Row: {
37527
+ created_at: string;
37528
+ external_ref: string;
37529
+ id: string;
37530
+ label: string;
37531
+ percentage: number;
37532
+ updated_at: string;
37533
+ user_id: string;
37534
+ };
37535
+ Insert: {
37536
+ created_at?: string;
37537
+ external_ref: string;
37538
+ id?: string;
37539
+ label: string;
37540
+ percentage?: number;
37541
+ updated_at?: string;
37542
+ user_id: string;
37543
+ };
37544
+ Update: {
37545
+ created_at?: string;
37546
+ external_ref?: string;
37547
+ id?: string;
37548
+ label?: string;
37549
+ percentage?: number;
37550
+ updated_at?: string;
37551
+ user_id?: string;
37552
+ };
37553
+ Relationships: [];
37554
+ };
34984
37555
  collections: {
34985
37556
  Row: {
34986
37557
  created_at: string;
@@ -35230,6 +37801,105 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
35230
37801
  };
35231
37802
  Relationships: [];
35232
37803
  };
37804
+ customer_price_group_members: {
37805
+ Row: {
37806
+ created_at: string;
37807
+ customer_key: string;
37808
+ id: string;
37809
+ owner_id: string;
37810
+ price_group_id: string;
37811
+ };
37812
+ Insert: {
37813
+ created_at?: string;
37814
+ customer_key: string;
37815
+ id?: string;
37816
+ owner_id?: string;
37817
+ price_group_id: string;
37818
+ };
37819
+ Update: {
37820
+ created_at?: string;
37821
+ customer_key?: string;
37822
+ id?: string;
37823
+ owner_id?: string;
37824
+ price_group_id?: string;
37825
+ };
37826
+ Relationships: [{
37827
+ foreignKeyName: "customer_price_group_members_price_group_id_fkey";
37828
+ columns: ["price_group_id"];
37829
+ isOneToOne: false;
37830
+ referencedRelation: "customer_price_groups";
37831
+ referencedColumns: ["id"];
37832
+ }];
37833
+ };
37834
+ customer_price_groups: {
37835
+ Row: {
37836
+ calc_type: string | null;
37837
+ calc_value: number | null;
37838
+ calc_value_type: string | null;
37839
+ created_at: string;
37840
+ currency: string;
37841
+ distribute_over: string | null;
37842
+ group_type: string;
37843
+ handling_fee: number | null;
37844
+ id: string;
37845
+ include_stickers: boolean;
37846
+ is_active: boolean;
37847
+ name: string;
37848
+ owner_id: string;
37849
+ price_scope: string;
37850
+ pricing_mode: string;
37851
+ rounding: string;
37852
+ rounding_step: number;
37853
+ sort_order: number;
37854
+ unit: string;
37855
+ updated_at: string;
37856
+ };
37857
+ Insert: {
37858
+ calc_type?: string | null;
37859
+ calc_value?: number | null;
37860
+ calc_value_type?: string | null;
37861
+ created_at?: string;
37862
+ currency?: string;
37863
+ distribute_over?: string | null;
37864
+ group_type?: string;
37865
+ handling_fee?: number | null;
37866
+ id?: string;
37867
+ include_stickers?: boolean;
37868
+ is_active?: boolean;
37869
+ name: string;
37870
+ owner_id?: string;
37871
+ price_scope?: string;
37872
+ pricing_mode?: string;
37873
+ rounding?: string;
37874
+ rounding_step?: number;
37875
+ sort_order?: number;
37876
+ unit?: string;
37877
+ updated_at?: string;
37878
+ };
37879
+ Update: {
37880
+ calc_type?: string | null;
37881
+ calc_value?: number | null;
37882
+ calc_value_type?: string | null;
37883
+ created_at?: string;
37884
+ currency?: string;
37885
+ distribute_over?: string | null;
37886
+ group_type?: string;
37887
+ handling_fee?: number | null;
37888
+ id?: string;
37889
+ include_stickers?: boolean;
37890
+ is_active?: boolean;
37891
+ name?: string;
37892
+ owner_id?: string;
37893
+ price_scope?: string;
37894
+ pricing_mode?: string;
37895
+ rounding?: string;
37896
+ rounding_step?: number;
37897
+ sort_order?: number;
37898
+ unit?: string;
37899
+ updated_at?: string;
37900
+ };
37901
+ Relationships: [];
37902
+ };
35233
37903
  customer_selected_assortment: {
35234
37904
  Row: {
35235
37905
  article_number: string | null;
@@ -35383,6 +38053,10 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
35383
38053
  sync_error: string | null;
35384
38054
  sync_status: string;
35385
38055
  trade_forms: string[];
38056
+ twinfield_code: string | null;
38057
+ twinfield_last_hash: string | null;
38058
+ twinfield_sync_error: string | null;
38059
+ twinfield_synced_at: string | null;
35386
38060
  updated_at: string;
35387
38061
  vat_display: string | null;
35388
38062
  vat_number: string | null;
@@ -35450,6 +38124,10 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
35450
38124
  sync_error?: string | null;
35451
38125
  sync_status?: string;
35452
38126
  trade_forms?: string[];
38127
+ twinfield_code?: string | null;
38128
+ twinfield_last_hash?: string | null;
38129
+ twinfield_sync_error?: string | null;
38130
+ twinfield_synced_at?: string | null;
35453
38131
  updated_at?: string;
35454
38132
  vat_display?: string | null;
35455
38133
  vat_number?: string | null;
@@ -35517,6 +38195,10 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
35517
38195
  sync_error?: string | null;
35518
38196
  sync_status?: string;
35519
38197
  trade_forms?: string[];
38198
+ twinfield_code?: string | null;
38199
+ twinfield_last_hash?: string | null;
38200
+ twinfield_sync_error?: string | null;
38201
+ twinfield_synced_at?: string | null;
35520
38202
  updated_at?: string;
35521
38203
  vat_display?: string | null;
35522
38204
  vat_number?: string | null;
@@ -42499,6 +45181,27 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
42499
45181
  };
42500
45182
  Relationships: [];
42501
45183
  };
45184
+ technician_rates: {
45185
+ Row: {
45186
+ created_at: string;
45187
+ hourly_rate_cents: number;
45188
+ updated_at: string;
45189
+ user_id: string;
45190
+ };
45191
+ Insert: {
45192
+ created_at?: string;
45193
+ hourly_rate_cents?: number;
45194
+ updated_at?: string;
45195
+ user_id: string;
45196
+ };
45197
+ Update: {
45198
+ created_at?: string;
45199
+ hourly_rate_cents?: number;
45200
+ updated_at?: string;
45201
+ user_id?: string;
45202
+ };
45203
+ Relationships: [];
45204
+ };
42502
45205
  tenants: {
42503
45206
  Row: {
42504
45207
  created_at: string;
@@ -42968,6 +45671,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
42968
45671
  country: string | null;
42969
45672
  created_at: string;
42970
45673
  email: string | null;
45674
+ external_group_key: string | null;
42971
45675
  id: string;
42972
45676
  last_synced_at: string | null;
42973
45677
  name: string;
@@ -42986,6 +45690,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
42986
45690
  country?: string | null;
42987
45691
  created_at?: string;
42988
45692
  email?: string | null;
45693
+ external_group_key?: string | null;
42989
45694
  id?: string;
42990
45695
  last_synced_at?: string | null;
42991
45696
  name: string;
@@ -43004,6 +45709,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43004
45709
  country?: string | null;
43005
45710
  created_at?: string;
43006
45711
  email?: string | null;
45712
+ external_group_key?: string | null;
43007
45713
  id?: string;
43008
45714
  last_synced_at?: string | null;
43009
45715
  name?: string;
@@ -43168,6 +45874,8 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43168
45874
  twinfield_invoice_settings: {
43169
45875
  Row: {
43170
45876
  created_at: string;
45877
+ debtor_gl_account: string;
45878
+ default_credit_invoice_type: string | null;
43171
45879
  default_gl_account: string;
43172
45880
  default_invoice_type: string;
43173
45881
  default_payment_term_days: number;
@@ -43176,11 +45884,15 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43176
45884
  invoice_enabled_fo: boolean;
43177
45885
  invoice_enabled_ho: boolean;
43178
45886
  invoice_enabled_mo: boolean;
45887
+ payment_gl_account: string;
45888
+ payment_journal_code: string;
43179
45889
  updated_at: string;
43180
45890
  user_id: string;
43181
45891
  };
43182
45892
  Insert: {
43183
45893
  created_at?: string;
45894
+ debtor_gl_account?: string;
45895
+ default_credit_invoice_type?: string | null;
43184
45896
  default_gl_account?: string;
43185
45897
  default_invoice_type?: string;
43186
45898
  default_payment_term_days?: number;
@@ -43189,11 +45901,15 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43189
45901
  invoice_enabled_fo?: boolean;
43190
45902
  invoice_enabled_ho?: boolean;
43191
45903
  invoice_enabled_mo?: boolean;
45904
+ payment_gl_account?: string;
45905
+ payment_journal_code?: string;
43192
45906
  updated_at?: string;
43193
45907
  user_id: string;
43194
45908
  };
43195
45909
  Update: {
43196
45910
  created_at?: string;
45911
+ debtor_gl_account?: string;
45912
+ default_credit_invoice_type?: string | null;
43197
45913
  default_gl_account?: string;
43198
45914
  default_invoice_type?: string;
43199
45915
  default_payment_term_days?: number;
@@ -43202,6 +45918,8 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43202
45918
  invoice_enabled_fo?: boolean;
43203
45919
  invoice_enabled_ho?: boolean;
43204
45920
  invoice_enabled_mo?: boolean;
45921
+ payment_gl_account?: string;
45922
+ payment_journal_code?: string;
43205
45923
  updated_at?: string;
43206
45924
  user_id?: string;
43207
45925
  };
@@ -43422,43 +46140,49 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43422
46140
  };
43423
46141
  twinfield_push_queue: {
43424
46142
  Row: {
46143
+ action: string;
43425
46144
  attempts: number;
43426
46145
  connection_id: string;
43427
46146
  created_at: string;
46147
+ customer_id: string | null;
43428
46148
  external_id: string | null;
43429
46149
  id: string;
43430
46150
  idempotency_key: string;
43431
46151
  last_error: string | null;
43432
46152
  next_attempt_at: string;
43433
- office_code: string;
46153
+ office_code: string | null;
43434
46154
  payload: import("../integrations/supabase/types").Json;
43435
46155
  status: string;
43436
46156
  updated_at: string;
43437
46157
  };
43438
46158
  Insert: {
46159
+ action?: string;
43439
46160
  attempts?: number;
43440
46161
  connection_id: string;
43441
46162
  created_at?: string;
46163
+ customer_id?: string | null;
43442
46164
  external_id?: string | null;
43443
46165
  id?: string;
43444
46166
  idempotency_key: string;
43445
46167
  last_error?: string | null;
43446
46168
  next_attempt_at?: string;
43447
- office_code: string;
46169
+ office_code?: string | null;
43448
46170
  payload: import("../integrations/supabase/types").Json;
43449
46171
  status?: string;
43450
46172
  updated_at?: string;
43451
46173
  };
43452
46174
  Update: {
46175
+ action?: string;
43453
46176
  attempts?: number;
43454
46177
  connection_id?: string;
43455
46178
  created_at?: string;
46179
+ customer_id?: string | null;
43456
46180
  external_id?: string | null;
43457
46181
  id?: string;
43458
46182
  idempotency_key?: string;
43459
46183
  last_error?: string | null;
43460
46184
  next_attempt_at?: string;
43461
- office_code?: string;
46185
+ office_code?: string | null;
43462
46186
  payload?: import("../integrations/supabase/types").Json;
43463
46187
  status?: string;
43464
46188
  updated_at?: string;
@@ -43469,6 +46193,12 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43469
46193
  isOneToOne: false;
43470
46194
  referencedRelation: "twinfield_connections";
43471
46195
  referencedColumns: ["id"];
46196
+ }, {
46197
+ foreignKeyName: "twinfield_push_queue_customer_id_fkey";
46198
+ columns: ["customer_id"];
46199
+ isOneToOne: false;
46200
+ referencedRelation: "customers";
46201
+ referencedColumns: ["id"];
43472
46202
  }];
43473
46203
  };
43474
46204
  twinfield_request_metrics: {
@@ -43744,6 +46474,246 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43744
46474
  };
43745
46475
  Relationships: [];
43746
46476
  };
46477
+ werkbon_package_lines: {
46478
+ Row: {
46479
+ created_at: string;
46480
+ created_by: string | null;
46481
+ id: string;
46482
+ package_id: string;
46483
+ quantity: number;
46484
+ unit_price_cents_snapshot: number;
46485
+ werkbon_id: string;
46486
+ };
46487
+ Insert: {
46488
+ created_at?: string;
46489
+ created_by?: string | null;
46490
+ id?: string;
46491
+ package_id: string;
46492
+ quantity?: number;
46493
+ unit_price_cents_snapshot?: number;
46494
+ werkbon_id: string;
46495
+ };
46496
+ Update: {
46497
+ created_at?: string;
46498
+ created_by?: string | null;
46499
+ id?: string;
46500
+ package_id?: string;
46501
+ quantity?: number;
46502
+ unit_price_cents_snapshot?: number;
46503
+ werkbon_id?: string;
46504
+ };
46505
+ Relationships: [{
46506
+ foreignKeyName: "werkbon_package_lines_package_id_fkey";
46507
+ columns: ["package_id"];
46508
+ isOneToOne: false;
46509
+ referencedRelation: "werkbon_packages";
46510
+ referencedColumns: ["id"];
46511
+ }, {
46512
+ foreignKeyName: "werkbon_package_lines_werkbon_id_fkey";
46513
+ columns: ["werkbon_id"];
46514
+ isOneToOne: false;
46515
+ referencedRelation: "werkbonnen";
46516
+ referencedColumns: ["id"];
46517
+ }];
46518
+ };
46519
+ werkbon_packages: {
46520
+ Row: {
46521
+ active: boolean;
46522
+ code: string;
46523
+ created_at: string;
46524
+ default_quantity: number;
46525
+ description: string | null;
46526
+ id: string;
46527
+ name: string;
46528
+ unit_price_cents: number;
46529
+ updated_at: string;
46530
+ };
46531
+ Insert: {
46532
+ active?: boolean;
46533
+ code: string;
46534
+ created_at?: string;
46535
+ default_quantity?: number;
46536
+ description?: string | null;
46537
+ id?: string;
46538
+ name: string;
46539
+ unit_price_cents?: number;
46540
+ updated_at?: string;
46541
+ };
46542
+ Update: {
46543
+ active?: boolean;
46544
+ code?: string;
46545
+ created_at?: string;
46546
+ default_quantity?: number;
46547
+ description?: string | null;
46548
+ id?: string;
46549
+ name?: string;
46550
+ unit_price_cents?: number;
46551
+ updated_at?: string;
46552
+ };
46553
+ Relationships: [];
46554
+ };
46555
+ werkbon_photos: {
46556
+ Row: {
46557
+ created_at: string;
46558
+ id: string;
46559
+ storage_path: string;
46560
+ user_id: string;
46561
+ werkbon_id: string;
46562
+ };
46563
+ Insert: {
46564
+ created_at?: string;
46565
+ id?: string;
46566
+ storage_path: string;
46567
+ user_id: string;
46568
+ werkbon_id: string;
46569
+ };
46570
+ Update: {
46571
+ created_at?: string;
46572
+ id?: string;
46573
+ storage_path?: string;
46574
+ user_id?: string;
46575
+ werkbon_id?: string;
46576
+ };
46577
+ Relationships: [{
46578
+ foreignKeyName: "werkbon_photos_werkbon_id_fkey";
46579
+ columns: ["werkbon_id"];
46580
+ isOneToOne: false;
46581
+ referencedRelation: "werkbonnen";
46582
+ referencedColumns: ["id"];
46583
+ }];
46584
+ };
46585
+ werkbon_time_logs: {
46586
+ Row: {
46587
+ activity: string;
46588
+ created_at: string;
46589
+ ended_at: string | null;
46590
+ id: string;
46591
+ started_at: string;
46592
+ user_id: string;
46593
+ werkbon_id: string;
46594
+ };
46595
+ Insert: {
46596
+ activity: string;
46597
+ created_at?: string;
46598
+ ended_at?: string | null;
46599
+ id?: string;
46600
+ started_at?: string;
46601
+ user_id: string;
46602
+ werkbon_id: string;
46603
+ };
46604
+ Update: {
46605
+ activity?: string;
46606
+ created_at?: string;
46607
+ ended_at?: string | null;
46608
+ id?: string;
46609
+ started_at?: string;
46610
+ user_id?: string;
46611
+ werkbon_id?: string;
46612
+ };
46613
+ Relationships: [{
46614
+ foreignKeyName: "werkbon_time_logs_werkbon_id_fkey";
46615
+ columns: ["werkbon_id"];
46616
+ isOneToOne: false;
46617
+ referencedRelation: "werkbonnen";
46618
+ referencedColumns: ["id"];
46619
+ }];
46620
+ };
46621
+ werkbonnen: {
46622
+ Row: {
46623
+ assigned_user_id: string | null;
46624
+ budget_mandate_cents: number;
46625
+ complaint_description: string | null;
46626
+ created_at: string;
46627
+ created_by: string | null;
46628
+ customer_id: string | null;
46629
+ externe_referentie: string | null;
46630
+ first_time_fix: boolean | null;
46631
+ id: string;
46632
+ internal_notes: string | null;
46633
+ parent_werkbon_id: string | null;
46634
+ parsed_payload: import("../integrations/supabase/types").Json | null;
46635
+ project_number: string | null;
46636
+ room_number: string | null;
46637
+ scheduled_end_time: string | null;
46638
+ scheduled_start_time: string | null;
46639
+ sequence_number: number;
46640
+ source_pdf_path: string | null;
46641
+ status: string;
46642
+ technician_notes: string | null;
46643
+ technician_notes_raw: string | null;
46644
+ technician_task_description: string | null;
46645
+ updated_at: string;
46646
+ version: number;
46647
+ work_address: string | null;
46648
+ };
46649
+ Insert: {
46650
+ assigned_user_id?: string | null;
46651
+ budget_mandate_cents?: number;
46652
+ complaint_description?: string | null;
46653
+ created_at?: string;
46654
+ created_by?: string | null;
46655
+ customer_id?: string | null;
46656
+ externe_referentie?: string | null;
46657
+ first_time_fix?: boolean | null;
46658
+ id?: string;
46659
+ internal_notes?: string | null;
46660
+ parent_werkbon_id?: string | null;
46661
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
46662
+ project_number?: string | null;
46663
+ room_number?: string | null;
46664
+ scheduled_end_time?: string | null;
46665
+ scheduled_start_time?: string | null;
46666
+ sequence_number: number;
46667
+ source_pdf_path?: string | null;
46668
+ status?: string;
46669
+ technician_notes?: string | null;
46670
+ technician_notes_raw?: string | null;
46671
+ technician_task_description?: string | null;
46672
+ updated_at?: string;
46673
+ version?: number;
46674
+ work_address?: string | null;
46675
+ };
46676
+ Update: {
46677
+ assigned_user_id?: string | null;
46678
+ budget_mandate_cents?: number;
46679
+ complaint_description?: string | null;
46680
+ created_at?: string;
46681
+ created_by?: string | null;
46682
+ customer_id?: string | null;
46683
+ externe_referentie?: string | null;
46684
+ first_time_fix?: boolean | null;
46685
+ id?: string;
46686
+ internal_notes?: string | null;
46687
+ parent_werkbon_id?: string | null;
46688
+ parsed_payload?: import("../integrations/supabase/types").Json | null;
46689
+ project_number?: string | null;
46690
+ room_number?: string | null;
46691
+ scheduled_end_time?: string | null;
46692
+ scheduled_start_time?: string | null;
46693
+ sequence_number?: number;
46694
+ source_pdf_path?: string | null;
46695
+ status?: string;
46696
+ technician_notes?: string | null;
46697
+ technician_notes_raw?: string | null;
46698
+ technician_task_description?: string | null;
46699
+ updated_at?: string;
46700
+ version?: number;
46701
+ work_address?: string | null;
46702
+ };
46703
+ Relationships: [{
46704
+ foreignKeyName: "werkbonnen_customer_id_fkey";
46705
+ columns: ["customer_id"];
46706
+ isOneToOne: false;
46707
+ referencedRelation: "customers";
46708
+ referencedColumns: ["id"];
46709
+ }, {
46710
+ foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
46711
+ columns: ["parent_werkbon_id"];
46712
+ isOneToOne: false;
46713
+ referencedRelation: "werkbonnen";
46714
+ referencedColumns: ["id"];
46715
+ }];
46716
+ };
43747
46717
  work_order_monteurs: {
43748
46718
  Row: {
43749
46719
  created_at: string;
@@ -43914,6 +46884,8 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43914
46884
  created_at: string | null;
43915
46885
  created_by: string | null;
43916
46886
  display_name: string | null;
46887
+ graph_subscription_expires_at: string | null;
46888
+ graph_subscription_id: string | null;
43917
46889
  has_access_token: boolean | null;
43918
46890
  has_client_id: boolean | null;
43919
46891
  has_client_secret: boolean | null;
@@ -43931,6 +46903,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43931
46903
  oauth_mode: string | null;
43932
46904
  provider: string | null;
43933
46905
  purpose_assignments: import("../integrations/supabase/types").Json | null;
46906
+ realtime_mode: string | null;
43934
46907
  scopes: string[] | null;
43935
46908
  smtp_host: string | null;
43936
46909
  smtp_port: number | null;
@@ -43945,6 +46918,8 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43945
46918
  created_at?: string | null;
43946
46919
  created_by?: string | null;
43947
46920
  display_name?: string | null;
46921
+ graph_subscription_expires_at?: string | null;
46922
+ graph_subscription_id?: string | null;
43948
46923
  has_access_token?: never;
43949
46924
  has_client_id?: never;
43950
46925
  has_client_secret?: never;
@@ -43962,6 +46937,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43962
46937
  oauth_mode?: string | null;
43963
46938
  provider?: string | null;
43964
46939
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
46940
+ realtime_mode?: string | null;
43965
46941
  scopes?: string[] | null;
43966
46942
  smtp_host?: string | null;
43967
46943
  smtp_port?: number | null;
@@ -43976,6 +46952,8 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43976
46952
  created_at?: string | null;
43977
46953
  created_by?: string | null;
43978
46954
  display_name?: string | null;
46955
+ graph_subscription_expires_at?: string | null;
46956
+ graph_subscription_id?: string | null;
43979
46957
  has_access_token?: never;
43980
46958
  has_client_id?: never;
43981
46959
  has_client_secret?: never;
@@ -43993,6 +46971,7 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
43993
46971
  oauth_mode?: string | null;
43994
46972
  provider?: string | null;
43995
46973
  purpose_assignments?: import("../integrations/supabase/types").Json | null;
46974
+ realtime_mode?: string | null;
43996
46975
  scopes?: string[] | null;
43997
46976
  smtp_host?: string | null;
43998
46977
  smtp_port?: number | null;
@@ -44536,6 +47515,33 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
44536
47515
  };
44537
47516
  Returns: import("../integrations/supabase/types").Json;
44538
47517
  };
47518
+ claim_twinfield_push_batch: {
47519
+ Args: {
47520
+ _limit?: number;
47521
+ };
47522
+ Returns: {
47523
+ action: string;
47524
+ attempts: number;
47525
+ connection_id: string;
47526
+ created_at: string;
47527
+ customer_id: string | null;
47528
+ external_id: string | null;
47529
+ id: string;
47530
+ idempotency_key: string;
47531
+ last_error: string | null;
47532
+ next_attempt_at: string;
47533
+ office_code: string | null;
47534
+ payload: import("../integrations/supabase/types").Json;
47535
+ status: string;
47536
+ updated_at: string;
47537
+ }[];
47538
+ SetofOptions: {
47539
+ from: "*";
47540
+ to: "twinfield_push_queue";
47541
+ isOneToOne: false;
47542
+ isSetofReturn: true;
47543
+ };
47544
+ };
44539
47545
  cleanup_old_bookings: {
44540
47546
  Args: never;
44541
47547
  Returns: undefined;
@@ -44632,6 +47638,16 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
44632
47638
  status: string;
44633
47639
  }[];
44634
47640
  };
47641
+ email_auth_upsert_connection: {
47642
+ Args: {
47643
+ _account_email: string;
47644
+ _created_by: string;
47645
+ _is_active: boolean;
47646
+ _provider: string;
47647
+ _status: string;
47648
+ };
47649
+ Returns: string;
47650
+ };
44635
47651
  enqueue_cart_replan_if_unlocked: {
44636
47652
  Args: {
44637
47653
  p_order_id: string;
@@ -44904,6 +47920,10 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
44904
47920
  };
44905
47921
  Returns: boolean;
44906
47922
  };
47923
+ has_twinfield_link: {
47924
+ Args: never;
47925
+ Returns: boolean;
47926
+ };
44907
47927
  is_authenticated: {
44908
47928
  Args: never;
44909
47929
  Returns: boolean;
@@ -44959,6 +47979,10 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
44959
47979
  };
44960
47980
  Returns: string;
44961
47981
  };
47982
+ next_twinfield_code: {
47983
+ Args: never;
47984
+ Returns: string;
47985
+ };
44962
47986
  next_work_order_number: {
44963
47987
  Args: {
44964
47988
  p_parent_work_order_id?: string;
@@ -45073,6 +48097,12 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
45073
48097
  };
45074
48098
  Returns: number;
45075
48099
  };
48100
+ reorder_customer_price_groups: {
48101
+ Args: {
48102
+ _ids: string[];
48103
+ };
48104
+ Returns: undefined;
48105
+ };
45076
48106
  reset_floriday_sync_cursor: {
45077
48107
  Args: {
45078
48108
  p_connection_id: string;
@@ -45086,6 +48116,12 @@ export declare const getExternalCustomerDetail: import("@tanstack/start-client-c
45086
48116
  };
45087
48117
  Returns: string;
45088
48118
  };
48119
+ retry_twinfield_push: {
48120
+ Args: {
48121
+ _customer_id: string;
48122
+ };
48123
+ Returns: number;
48124
+ };
45089
48125
  schedule_floriday_additional_services_sync: {
45090
48126
  Args: {
45091
48127
  p_apikey: string;