@flowselections/mailbox-orders 1.0.15 → 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.
@@ -895,6 +895,126 @@ export type Database = {
895
895
  };
896
896
  Relationships: [];
897
897
  };
898
+ cao_holidays: {
899
+ Row: {
900
+ created_at: string;
901
+ description: string | null;
902
+ holiday_date: string;
903
+ id: string;
904
+ updated_at: string;
905
+ };
906
+ Insert: {
907
+ created_at?: string;
908
+ description?: string | null;
909
+ holiday_date: string;
910
+ id?: string;
911
+ updated_at?: string;
912
+ };
913
+ Update: {
914
+ created_at?: string;
915
+ description?: string | null;
916
+ holiday_date?: string;
917
+ id?: string;
918
+ updated_at?: string;
919
+ };
920
+ Relationships: [];
921
+ };
922
+ cao_settings: {
923
+ Row: {
924
+ auto_break_after_hours: number;
925
+ auto_break_minutes: number;
926
+ auto_break_unpaid: boolean;
927
+ auto_stop_after_hours: number;
928
+ callout_fee: number;
929
+ created_at: string;
930
+ daily_regular_hours: number;
931
+ default_hourly_rate: number;
932
+ id: string;
933
+ materials_markup_percent: number;
934
+ max_daily_hours: number;
935
+ max_weekly_hours: number;
936
+ meal_allowance_amount: number;
937
+ overtime_pct_178: number;
938
+ overtime_pct_189: number;
939
+ overtime_pct_212: number;
940
+ reminder_after_hours: number;
941
+ standby_evening_amount: number;
942
+ standby_weekend_amount: number;
943
+ travel_cost_per_km: number | null;
944
+ travel_cost_threshold_km: number | null;
945
+ travel_counts_as_work: boolean;
946
+ travel_hourly_rate: number;
947
+ travel_rate_per_hour: number;
948
+ travel_threshold_minutes: number;
949
+ updated_at: string;
950
+ weekend_always_212: boolean;
951
+ window_end: string;
952
+ window_start: string;
953
+ };
954
+ Insert: {
955
+ auto_break_after_hours?: number;
956
+ auto_break_minutes?: number;
957
+ auto_break_unpaid?: boolean;
958
+ auto_stop_after_hours?: number;
959
+ callout_fee?: number;
960
+ created_at?: string;
961
+ daily_regular_hours?: number;
962
+ default_hourly_rate?: number;
963
+ id?: string;
964
+ materials_markup_percent?: number;
965
+ max_daily_hours?: number;
966
+ max_weekly_hours?: number;
967
+ meal_allowance_amount?: number;
968
+ overtime_pct_178?: number;
969
+ overtime_pct_189?: number;
970
+ overtime_pct_212?: number;
971
+ reminder_after_hours?: number;
972
+ standby_evening_amount?: number;
973
+ standby_weekend_amount?: number;
974
+ travel_cost_per_km?: number | null;
975
+ travel_cost_threshold_km?: number | null;
976
+ travel_counts_as_work?: boolean;
977
+ travel_hourly_rate?: number;
978
+ travel_rate_per_hour?: number;
979
+ travel_threshold_minutes?: number;
980
+ updated_at?: string;
981
+ weekend_always_212?: boolean;
982
+ window_end?: string;
983
+ window_start?: string;
984
+ };
985
+ Update: {
986
+ auto_break_after_hours?: number;
987
+ auto_break_minutes?: number;
988
+ auto_break_unpaid?: boolean;
989
+ auto_stop_after_hours?: number;
990
+ callout_fee?: number;
991
+ created_at?: string;
992
+ daily_regular_hours?: number;
993
+ default_hourly_rate?: number;
994
+ id?: string;
995
+ materials_markup_percent?: number;
996
+ max_daily_hours?: number;
997
+ max_weekly_hours?: number;
998
+ meal_allowance_amount?: number;
999
+ overtime_pct_178?: number;
1000
+ overtime_pct_189?: number;
1001
+ overtime_pct_212?: number;
1002
+ reminder_after_hours?: number;
1003
+ standby_evening_amount?: number;
1004
+ standby_weekend_amount?: number;
1005
+ travel_cost_per_km?: number | null;
1006
+ travel_cost_threshold_km?: number | null;
1007
+ travel_counts_as_work?: boolean;
1008
+ travel_hourly_rate?: number;
1009
+ travel_rate_per_hour?: number;
1010
+ travel_threshold_minutes?: number;
1011
+ updated_at?: string;
1012
+ weekend_always_212?: boolean;
1013
+ window_end?: string;
1014
+ window_start?: string;
1015
+ };
1016
+ Relationships: [];
1017
+ };
898
1018
  carrier_shipping_rates: {
899
1019
  Row: {
900
1020
  carrier_id: string;
@@ -7975,7 +8095,6 @@ export type Database = {
7975
8095
  start_date: string;
7976
8096
  start_time: string | null;
7977
8097
  status: string;
7978
- tenant_id: string;
7979
8098
  updated_at: string;
7980
8099
  user_id: string;
7981
8100
  };
@@ -7993,7 +8112,6 @@ export type Database = {
7993
8112
  start_date: string;
7994
8113
  start_time?: string | null;
7995
8114
  status?: string;
7996
- tenant_id?: string;
7997
8115
  updated_at?: string;
7998
8116
  user_id: string;
7999
8117
  };
@@ -8011,7 +8129,6 @@ export type Database = {
8011
8129
  start_date?: string;
8012
8130
  start_time?: string | null;
8013
8131
  status?: string;
8014
- tenant_id?: string;
8015
8132
  updated_at?: string;
8016
8133
  user_id?: string;
8017
8134
  };
@@ -8020,14 +8137,14 @@ export type Database = {
8020
8137
  foreignKeyName: "leave_requests_monteur_id_fkey";
8021
8138
  columns: ["monteur_id"];
8022
8139
  isOneToOne: false;
8023
- referencedRelation: "monteurs";
8140
+ referencedRelation: "profiles";
8024
8141
  referencedColumns: ["id"];
8025
8142
  },
8026
8143
  {
8027
8144
  foreignKeyName: "leave_requests_user_id_fkey";
8028
8145
  columns: ["user_id"];
8029
8146
  isOneToOne: false;
8030
- referencedRelation: "monteurs";
8147
+ referencedRelation: "profiles";
8031
8148
  referencedColumns: ["id"];
8032
8149
  }
8033
8150
  ];
@@ -8918,6 +9035,45 @@ export type Database = {
8918
9035
  };
8919
9036
  Relationships: [];
8920
9037
  };
9038
+ logistics_plan_queue: {
9039
+ Row: {
9040
+ attempts: number;
9041
+ claimed_at: string | null;
9042
+ enqueued_at: string;
9043
+ error: string | null;
9044
+ id: string;
9045
+ next_attempt_at: string;
9046
+ order_id: string;
9047
+ reason: string;
9048
+ status: string;
9049
+ updated_at: string;
9050
+ };
9051
+ Insert: {
9052
+ attempts?: number;
9053
+ claimed_at?: string | null;
9054
+ enqueued_at?: string;
9055
+ error?: string | null;
9056
+ id?: string;
9057
+ next_attempt_at?: string;
9058
+ order_id: string;
9059
+ reason?: string;
9060
+ status?: string;
9061
+ updated_at?: string;
9062
+ };
9063
+ Update: {
9064
+ attempts?: number;
9065
+ claimed_at?: string | null;
9066
+ enqueued_at?: string;
9067
+ error?: string | null;
9068
+ id?: string;
9069
+ next_attempt_at?: string;
9070
+ order_id?: string;
9071
+ reason?: string;
9072
+ status?: string;
9073
+ updated_at?: string;
9074
+ };
9075
+ Relationships: [];
9076
+ };
8921
9077
  logistics_plan_runs: {
8922
9078
  Row: {
8923
9079
  created_at: string;
@@ -8996,6 +9152,24 @@ export type Database = {
8996
9152
  }
8997
9153
  ];
8998
9154
  };
9155
+ logistics_plan_settings: {
9156
+ Row: {
9157
+ key: string;
9158
+ updated_at: string;
9159
+ value: string;
9160
+ };
9161
+ Insert: {
9162
+ key: string;
9163
+ updated_at?: string;
9164
+ value: string;
9165
+ };
9166
+ Update: {
9167
+ key?: string;
9168
+ updated_at?: string;
9169
+ value?: string;
9170
+ };
9171
+ Relationships: [];
9172
+ };
8999
9173
  logistics_rebuffer_state: {
9000
9174
  Row: {
9001
9175
  created_at: string;
@@ -10178,6 +10352,94 @@ export type Database = {
10178
10352
  };
10179
10353
  Relationships: [];
10180
10354
  };
10355
+ material_usage: {
10356
+ Row: {
10357
+ created_at: string;
10358
+ id: string;
10359
+ material_name: string;
10360
+ monteur_id: string | null;
10361
+ price_at_time: number;
10362
+ quantity_used: number;
10363
+ updated_at: string;
10364
+ van_inventory_id: string | null;
10365
+ work_order_id: string;
10366
+ };
10367
+ Insert: {
10368
+ created_at?: string;
10369
+ id?: string;
10370
+ material_name: string;
10371
+ monteur_id?: string | null;
10372
+ price_at_time?: number;
10373
+ quantity_used?: number;
10374
+ updated_at?: string;
10375
+ van_inventory_id?: string | null;
10376
+ work_order_id: string;
10377
+ };
10378
+ Update: {
10379
+ created_at?: string;
10380
+ id?: string;
10381
+ material_name?: string;
10382
+ monteur_id?: string | null;
10383
+ price_at_time?: number;
10384
+ quantity_used?: number;
10385
+ updated_at?: string;
10386
+ van_inventory_id?: string | null;
10387
+ work_order_id?: string;
10388
+ };
10389
+ Relationships: [
10390
+ {
10391
+ foreignKeyName: "material_usage_monteur_id_fkey";
10392
+ columns: ["monteur_id"];
10393
+ isOneToOne: false;
10394
+ referencedRelation: "profiles";
10395
+ referencedColumns: ["id"];
10396
+ },
10397
+ {
10398
+ foreignKeyName: "material_usage_van_inventory_id_fkey";
10399
+ columns: ["van_inventory_id"];
10400
+ isOneToOne: false;
10401
+ referencedRelation: "van_inventories";
10402
+ referencedColumns: ["id"];
10403
+ },
10404
+ {
10405
+ foreignKeyName: "material_usage_work_order_id_fkey";
10406
+ columns: ["work_order_id"];
10407
+ isOneToOne: false;
10408
+ referencedRelation: "work_orders";
10409
+ referencedColumns: ["id"];
10410
+ }
10411
+ ];
10412
+ };
10413
+ module_features: {
10414
+ Row: {
10415
+ created_at: string;
10416
+ feature_id: string;
10417
+ id: string;
10418
+ is_active: boolean;
10419
+ last_seen_at: string;
10420
+ module_id: string;
10421
+ name: string;
10422
+ };
10423
+ Insert: {
10424
+ created_at?: string;
10425
+ feature_id: string;
10426
+ id?: string;
10427
+ is_active?: boolean;
10428
+ last_seen_at?: string;
10429
+ module_id: string;
10430
+ name: string;
10431
+ };
10432
+ Update: {
10433
+ created_at?: string;
10434
+ feature_id?: string;
10435
+ id?: string;
10436
+ is_active?: boolean;
10437
+ last_seen_at?: string;
10438
+ module_id?: string;
10439
+ name?: string;
10440
+ };
10441
+ Relationships: [];
10442
+ };
10181
10443
  module_permissions: {
10182
10444
  Row: {
10183
10445
  created_at: string;
@@ -10286,65 +10548,6 @@ export type Database = {
10286
10548
  };
10287
10549
  Relationships: [];
10288
10550
  };
10289
- monteurs: {
10290
- Row: {
10291
- avatar_url: string | null;
10292
- color: string | null;
10293
- created_at: string;
10294
- email: string | null;
10295
- id: string;
10296
- is_active: boolean;
10297
- leave_balance_hours: number;
10298
- name: string;
10299
- persnr: number | null;
10300
- phone: string | null;
10301
- role: string;
10302
- tenant_id: string;
10303
- updated_at: string;
10304
- user_id: string | null;
10305
- };
10306
- Insert: {
10307
- avatar_url?: string | null;
10308
- color?: string | null;
10309
- created_at?: string;
10310
- email?: string | null;
10311
- id?: string;
10312
- is_active?: boolean;
10313
- leave_balance_hours?: number;
10314
- name: string;
10315
- persnr?: number | null;
10316
- phone?: string | null;
10317
- role?: string;
10318
- tenant_id: string;
10319
- updated_at?: string;
10320
- user_id?: string | null;
10321
- };
10322
- Update: {
10323
- avatar_url?: string | null;
10324
- color?: string | null;
10325
- created_at?: string;
10326
- email?: string | null;
10327
- id?: string;
10328
- is_active?: boolean;
10329
- leave_balance_hours?: number;
10330
- name?: string;
10331
- persnr?: number | null;
10332
- phone?: string | null;
10333
- role?: string;
10334
- tenant_id?: string;
10335
- updated_at?: string;
10336
- user_id?: string | null;
10337
- };
10338
- Relationships: [
10339
- {
10340
- foreignKeyName: "monteurs_tenant_id_fkey";
10341
- columns: ["tenant_id"];
10342
- isOneToOne: false;
10343
- referencedRelation: "tenants";
10344
- referencedColumns: ["id"];
10345
- }
10346
- ];
10347
- };
10348
10551
  nmbrs_component_mapping: {
10349
10552
  Row: {
10350
10553
  created_at: string;
@@ -10417,15 +10620,7 @@ export type Database = {
10417
10620
  nmbrs_employee_number?: string;
10418
10621
  updated_at?: string;
10419
10622
  };
10420
- Relationships: [
10421
- {
10422
- foreignKeyName: "nmbrs_employee_mapping_monteur_id_fkey";
10423
- columns: ["monteur_id"];
10424
- isOneToOne: true;
10425
- referencedRelation: "monteurs";
10426
- referencedColumns: ["id"];
10427
- }
10428
- ];
10623
+ Relationships: [];
10429
10624
  };
10430
10625
  nmbrs_export_lines: {
10431
10626
  Row: {
@@ -10474,13 +10669,6 @@ export type Database = {
10474
10669
  wage_code?: string;
10475
10670
  };
10476
10671
  Relationships: [
10477
- {
10478
- foreignKeyName: "nmbrs_export_lines_monteur_id_fkey";
10479
- columns: ["monteur_id"];
10480
- isOneToOne: false;
10481
- referencedRelation: "monteurs";
10482
- referencedColumns: ["id"];
10483
- },
10484
10672
  {
10485
10673
  foreignKeyName: "nmbrs_export_lines_run_id_fkey";
10486
10674
  columns: ["run_id"];
@@ -11338,6 +11526,7 @@ export type Database = {
11338
11526
  error_message: string | null;
11339
11527
  id: string;
11340
11528
  invoice_number: string | null;
11529
+ next_attempt_at: string;
11341
11530
  order_id: string;
11342
11531
  processed_at: string | null;
11343
11532
  status: string;
@@ -11349,6 +11538,7 @@ export type Database = {
11349
11538
  error_message?: string | null;
11350
11539
  id?: string;
11351
11540
  invoice_number?: string | null;
11541
+ next_attempt_at?: string;
11352
11542
  order_id: string;
11353
11543
  processed_at?: string | null;
11354
11544
  status?: string;
@@ -11360,6 +11550,7 @@ export type Database = {
11360
11550
  error_message?: string | null;
11361
11551
  id?: string;
11362
11552
  invoice_number?: string | null;
11553
+ next_attempt_at?: string;
11363
11554
  order_id?: string;
11364
11555
  processed_at?: string | null;
11365
11556
  status?: string;
@@ -12955,6 +13146,9 @@ export type Database = {
12955
13146
  created_at: string;
12956
13147
  id: string;
12957
13148
  laatst_gezien: string;
13149
+ laatste_fout: string | null;
13150
+ laatste_request_id: number | null;
13151
+ mislukte_posts: number;
12958
13152
  tick_sleutel: string;
12959
13153
  updated_at: string;
12960
13154
  };
@@ -12964,6 +13158,9 @@ export type Database = {
12964
13158
  created_at?: string;
12965
13159
  id?: string;
12966
13160
  laatst_gezien?: string;
13161
+ laatste_fout?: string | null;
13162
+ laatste_request_id?: number | null;
13163
+ mislukte_posts?: number;
12967
13164
  tick_sleutel?: string;
12968
13165
  updated_at?: string;
12969
13166
  };
@@ -12973,6 +13170,9 @@ export type Database = {
12973
13170
  created_at?: string;
12974
13171
  id?: string;
12975
13172
  laatst_gezien?: string;
13173
+ laatste_fout?: string | null;
13174
+ laatste_request_id?: number | null;
13175
+ mislukte_posts?: number;
12976
13176
  tick_sleutel?: string;
12977
13177
  updated_at?: string;
12978
13178
  };
@@ -14537,47 +14737,141 @@ export type Database = {
14537
14737
  }
14538
14738
  ];
14539
14739
  };
14540
- rooms: {
14740
+ role_assignments: {
14541
14741
  Row: {
14542
- capacity: number;
14543
- color_code: string | null;
14544
14742
  created_at: string;
14545
- description: string | null;
14546
- hourly_rate: number;
14547
14743
  id: string;
14548
- image_url: string | null;
14549
- is_active: boolean;
14550
- name: string;
14744
+ role_id: string;
14745
+ user_id: string;
14551
14746
  };
14552
14747
  Insert: {
14553
- capacity?: number;
14554
- color_code?: string | null;
14555
14748
  created_at?: string;
14556
- description?: string | null;
14557
- hourly_rate?: number;
14558
14749
  id?: string;
14559
- image_url?: string | null;
14560
- is_active?: boolean;
14561
- name: string;
14750
+ role_id: string;
14751
+ user_id: string;
14562
14752
  };
14563
14753
  Update: {
14564
- capacity?: number;
14565
- color_code?: string | null;
14566
14754
  created_at?: string;
14567
- description?: string | null;
14568
- hourly_rate?: number;
14569
14755
  id?: string;
14570
- image_url?: string | null;
14571
- is_active?: boolean;
14572
- name?: string;
14756
+ role_id?: string;
14757
+ user_id?: string;
14573
14758
  };
14574
- Relationships: [];
14759
+ Relationships: [
14760
+ {
14761
+ foreignKeyName: "role_assignments_role_id_fkey";
14762
+ columns: ["role_id"];
14763
+ isOneToOne: false;
14764
+ referencedRelation: "roles";
14765
+ referencedColumns: ["id"];
14766
+ }
14767
+ ];
14575
14768
  };
14576
- scan_kar_items: {
14769
+ role_permissions: {
14577
14770
  Row: {
14578
- barcode: string;
14771
+ can_edit: boolean;
14772
+ can_view: boolean;
14773
+ feature_id: string;
14579
14774
  id: string;
14580
- kar_id: string;
14775
+ module_id: string;
14776
+ role_id: string;
14777
+ updated_at: string;
14778
+ };
14779
+ Insert: {
14780
+ can_edit?: boolean;
14781
+ can_view?: boolean;
14782
+ feature_id?: string;
14783
+ id?: string;
14784
+ module_id: string;
14785
+ role_id: string;
14786
+ updated_at?: string;
14787
+ };
14788
+ Update: {
14789
+ can_edit?: boolean;
14790
+ can_view?: boolean;
14791
+ feature_id?: string;
14792
+ id?: string;
14793
+ module_id?: string;
14794
+ role_id?: string;
14795
+ updated_at?: string;
14796
+ };
14797
+ Relationships: [
14798
+ {
14799
+ foreignKeyName: "role_permissions_role_id_fkey";
14800
+ columns: ["role_id"];
14801
+ isOneToOne: false;
14802
+ referencedRelation: "roles";
14803
+ referencedColumns: ["id"];
14804
+ }
14805
+ ];
14806
+ };
14807
+ roles: {
14808
+ Row: {
14809
+ created_at: string;
14810
+ id: string;
14811
+ is_protected: boolean;
14812
+ key: string;
14813
+ name: string;
14814
+ updated_at: string;
14815
+ };
14816
+ Insert: {
14817
+ created_at?: string;
14818
+ id?: string;
14819
+ is_protected?: boolean;
14820
+ key: string;
14821
+ name: string;
14822
+ updated_at?: string;
14823
+ };
14824
+ Update: {
14825
+ created_at?: string;
14826
+ id?: string;
14827
+ is_protected?: boolean;
14828
+ key?: string;
14829
+ name?: string;
14830
+ updated_at?: string;
14831
+ };
14832
+ Relationships: [];
14833
+ };
14834
+ rooms: {
14835
+ Row: {
14836
+ capacity: number;
14837
+ color_code: string | null;
14838
+ created_at: string;
14839
+ description: string | null;
14840
+ hourly_rate: number;
14841
+ id: string;
14842
+ image_url: string | null;
14843
+ is_active: boolean;
14844
+ name: string;
14845
+ };
14846
+ Insert: {
14847
+ capacity?: number;
14848
+ color_code?: string | null;
14849
+ created_at?: string;
14850
+ description?: string | null;
14851
+ hourly_rate?: number;
14852
+ id?: string;
14853
+ image_url?: string | null;
14854
+ is_active?: boolean;
14855
+ name: string;
14856
+ };
14857
+ Update: {
14858
+ capacity?: number;
14859
+ color_code?: string | null;
14860
+ created_at?: string;
14861
+ description?: string | null;
14862
+ hourly_rate?: number;
14863
+ id?: string;
14864
+ image_url?: string | null;
14865
+ is_active?: boolean;
14866
+ name?: string;
14867
+ };
14868
+ Relationships: [];
14869
+ };
14870
+ scan_kar_items: {
14871
+ Row: {
14872
+ barcode: string;
14873
+ id: string;
14874
+ kar_id: string;
14581
14875
  pakbon_id: string;
14582
14876
  pakbon_item_id: string;
14583
14877
  product_id: string | null;
@@ -15217,6 +15511,56 @@ export type Database = {
15217
15511
  };
15218
15512
  Relationships: [];
15219
15513
  };
15514
+ time_compensation_entries: {
15515
+ Row: {
15516
+ created_at: string;
15517
+ employee_id: string;
15518
+ entry_date: string;
15519
+ id: string;
15520
+ km: number;
15521
+ meal_allowance: number;
15522
+ notes: string | null;
15523
+ standby_evening: number;
15524
+ standby_weekend: number;
15525
+ tvt_change: number;
15526
+ updated_at: string;
15527
+ };
15528
+ Insert: {
15529
+ created_at?: string;
15530
+ employee_id: string;
15531
+ entry_date: string;
15532
+ id?: string;
15533
+ km?: number;
15534
+ meal_allowance?: number;
15535
+ notes?: string | null;
15536
+ standby_evening?: number;
15537
+ standby_weekend?: number;
15538
+ tvt_change?: number;
15539
+ updated_at?: string;
15540
+ };
15541
+ Update: {
15542
+ created_at?: string;
15543
+ employee_id?: string;
15544
+ entry_date?: string;
15545
+ id?: string;
15546
+ km?: number;
15547
+ meal_allowance?: number;
15548
+ notes?: string | null;
15549
+ standby_evening?: number;
15550
+ standby_weekend?: number;
15551
+ tvt_change?: number;
15552
+ updated_at?: string;
15553
+ };
15554
+ Relationships: [
15555
+ {
15556
+ foreignKeyName: "time_compensation_entries_employee_id_fkey";
15557
+ columns: ["employee_id"];
15558
+ isOneToOne: false;
15559
+ referencedRelation: "profiles";
15560
+ referencedColumns: ["id"];
15561
+ }
15562
+ ];
15563
+ };
15220
15564
  time_entries: {
15221
15565
  Row: {
15222
15566
  created_at: string;
@@ -15251,68 +15595,174 @@ export type Database = {
15251
15595
  undertime?: number;
15252
15596
  updated_at?: string;
15253
15597
  };
15598
+ Relationships: [];
15599
+ };
15600
+ time_log_week_approvals: {
15601
+ Row: {
15602
+ approved_at: string | null;
15603
+ approved_by: string | null;
15604
+ created_at: string;
15605
+ employee_id: string;
15606
+ id: string;
15607
+ locked: boolean;
15608
+ notes: string | null;
15609
+ status: string;
15610
+ submitted_at: string | null;
15611
+ updated_at: string;
15612
+ week_start: string;
15613
+ };
15614
+ Insert: {
15615
+ approved_at?: string | null;
15616
+ approved_by?: string | null;
15617
+ created_at?: string;
15618
+ employee_id: string;
15619
+ id?: string;
15620
+ locked?: boolean;
15621
+ notes?: string | null;
15622
+ status?: string;
15623
+ submitted_at?: string | null;
15624
+ updated_at?: string;
15625
+ week_start: string;
15626
+ };
15627
+ Update: {
15628
+ approved_at?: string | null;
15629
+ approved_by?: string | null;
15630
+ created_at?: string;
15631
+ employee_id?: string;
15632
+ id?: string;
15633
+ locked?: boolean;
15634
+ notes?: string | null;
15635
+ status?: string;
15636
+ submitted_at?: string | null;
15637
+ updated_at?: string;
15638
+ week_start?: string;
15639
+ };
15254
15640
  Relationships: [
15255
15641
  {
15256
- foreignKeyName: "time_entries_employee_id_fkey";
15642
+ foreignKeyName: "time_log_week_approvals_employee_id_fkey";
15257
15643
  columns: ["employee_id"];
15258
15644
  isOneToOne: false;
15259
- referencedRelation: "monteurs";
15645
+ referencedRelation: "profiles";
15260
15646
  referencedColumns: ["id"];
15261
15647
  }
15262
15648
  ];
15263
15649
  };
15264
15650
  time_logs: {
15265
15651
  Row: {
15652
+ auto_stop_reason: string | null;
15653
+ auto_stopped: boolean;
15266
15654
  created_at: string;
15655
+ current_latitude: number | null;
15656
+ current_longitude: number | null;
15657
+ current_position_updated_at: string | null;
15267
15658
  employee_id: string;
15659
+ end_latitude: number | null;
15660
+ end_longitude: number | null;
15268
15661
  end_time: string | null;
15662
+ eta_distance_km: number | null;
15663
+ eta_minutes: number | null;
15664
+ eta_updated_at: string | null;
15665
+ hour_category: string | null;
15269
15666
  id: string;
15667
+ last_reminder_at: string | null;
15270
15668
  notes: string | null;
15271
15669
  overtime_hours: number;
15272
15670
  overtime_type: string | null;
15273
15671
  regular_hours: number;
15672
+ reminder_count: number;
15673
+ requires_review: boolean;
15674
+ start_latitude: number | null;
15675
+ start_longitude: number | null;
15274
15676
  start_time: string;
15275
15677
  travel_cost: number | null;
15276
15678
  travel_distance_km: number | null;
15679
+ travel_duration_min: number | null;
15680
+ travel_time_minutes: number | null;
15277
15681
  type: string;
15278
15682
  updated_at: string;
15683
+ work_order_id: string | null;
15279
15684
  };
15280
15685
  Insert: {
15686
+ auto_stop_reason?: string | null;
15687
+ auto_stopped?: boolean;
15281
15688
  created_at?: string;
15689
+ current_latitude?: number | null;
15690
+ current_longitude?: number | null;
15691
+ current_position_updated_at?: string | null;
15282
15692
  employee_id: string;
15693
+ end_latitude?: number | null;
15694
+ end_longitude?: number | null;
15283
15695
  end_time?: string | null;
15696
+ eta_distance_km?: number | null;
15697
+ eta_minutes?: number | null;
15698
+ eta_updated_at?: string | null;
15699
+ hour_category?: string | null;
15284
15700
  id?: string;
15701
+ last_reminder_at?: string | null;
15285
15702
  notes?: string | null;
15286
15703
  overtime_hours?: number;
15287
15704
  overtime_type?: string | null;
15288
15705
  regular_hours?: number;
15706
+ reminder_count?: number;
15707
+ requires_review?: boolean;
15708
+ start_latitude?: number | null;
15709
+ start_longitude?: number | null;
15289
15710
  start_time?: string;
15290
15711
  travel_cost?: number | null;
15291
15712
  travel_distance_km?: number | null;
15713
+ travel_duration_min?: number | null;
15714
+ travel_time_minutes?: number | null;
15292
15715
  type: string;
15293
15716
  updated_at?: string;
15717
+ work_order_id?: string | null;
15294
15718
  };
15295
15719
  Update: {
15720
+ auto_stop_reason?: string | null;
15721
+ auto_stopped?: boolean;
15296
15722
  created_at?: string;
15723
+ current_latitude?: number | null;
15724
+ current_longitude?: number | null;
15725
+ current_position_updated_at?: string | null;
15297
15726
  employee_id?: string;
15727
+ end_latitude?: number | null;
15728
+ end_longitude?: number | null;
15298
15729
  end_time?: string | null;
15730
+ eta_distance_km?: number | null;
15731
+ eta_minutes?: number | null;
15732
+ eta_updated_at?: string | null;
15733
+ hour_category?: string | null;
15299
15734
  id?: string;
15735
+ last_reminder_at?: string | null;
15300
15736
  notes?: string | null;
15301
15737
  overtime_hours?: number;
15302
15738
  overtime_type?: string | null;
15303
15739
  regular_hours?: number;
15740
+ reminder_count?: number;
15741
+ requires_review?: boolean;
15742
+ start_latitude?: number | null;
15743
+ start_longitude?: number | null;
15304
15744
  start_time?: string;
15305
15745
  travel_cost?: number | null;
15306
15746
  travel_distance_km?: number | null;
15747
+ travel_duration_min?: number | null;
15748
+ travel_time_minutes?: number | null;
15307
15749
  type?: string;
15308
15750
  updated_at?: string;
15751
+ work_order_id?: string | null;
15309
15752
  };
15310
15753
  Relationships: [
15311
15754
  {
15312
15755
  foreignKeyName: "time_logs_employee_id_fkey";
15313
15756
  columns: ["employee_id"];
15314
15757
  isOneToOne: false;
15315
- referencedRelation: "monteurs";
15758
+ referencedRelation: "profiles";
15759
+ referencedColumns: ["id"];
15760
+ },
15761
+ {
15762
+ foreignKeyName: "time_logs_work_order_id_fkey";
15763
+ columns: ["work_order_id"];
15764
+ isOneToOne: false;
15765
+ referencedRelation: "work_orders";
15316
15766
  referencedColumns: ["id"];
15317
15767
  }
15318
15768
  ];
@@ -15353,7 +15803,7 @@ export type Database = {
15353
15803
  foreignKeyName: "time_off_entries_employee_id_fkey";
15354
15804
  columns: ["employee_id"];
15355
15805
  isOneToOne: false;
15356
- referencedRelation: "monteurs";
15806
+ referencedRelation: "profiles";
15357
15807
  referencedColumns: ["id"];
15358
15808
  }
15359
15809
  ];
@@ -15666,6 +16116,39 @@ export type Database = {
15666
16116
  };
15667
16117
  Relationships: [];
15668
16118
  };
16119
+ twinfield_cron_locks: {
16120
+ Row: {
16121
+ created_at: string;
16122
+ heartbeat_at: string;
16123
+ job_name: string;
16124
+ last_error: string | null;
16125
+ last_finished_at: string | null;
16126
+ locked_at: string;
16127
+ run_id: string;
16128
+ updated_at: string;
16129
+ };
16130
+ Insert: {
16131
+ created_at?: string;
16132
+ heartbeat_at?: string;
16133
+ job_name: string;
16134
+ last_error?: string | null;
16135
+ last_finished_at?: string | null;
16136
+ locked_at?: string;
16137
+ run_id?: string;
16138
+ updated_at?: string;
16139
+ };
16140
+ Update: {
16141
+ created_at?: string;
16142
+ heartbeat_at?: string;
16143
+ job_name?: string;
16144
+ last_error?: string | null;
16145
+ last_finished_at?: string | null;
16146
+ locked_at?: string;
16147
+ run_id?: string;
16148
+ updated_at?: string;
16149
+ };
16150
+ Relationships: [];
16151
+ };
15669
16152
  twinfield_customers: {
15670
16153
  Row: {
15671
16154
  address: string | null;
@@ -16276,6 +16759,7 @@ export type Database = {
16276
16759
  twinfield_push_queue: {
16277
16760
  Row: {
16278
16761
  action: string;
16762
+ attempt_started_at: string | null;
16279
16763
  attempts: number;
16280
16764
  connection_id: string | null;
16281
16765
  created_at: string;
@@ -16292,6 +16776,7 @@ export type Database = {
16292
16776
  };
16293
16777
  Insert: {
16294
16778
  action?: string;
16779
+ attempt_started_at?: string | null;
16295
16780
  attempts?: number;
16296
16781
  connection_id?: string | null;
16297
16782
  created_at?: string;
@@ -16308,6 +16793,7 @@ export type Database = {
16308
16793
  };
16309
16794
  Update: {
16310
16795
  action?: string;
16796
+ attempt_started_at?: string | null;
16311
16797
  attempts?: number;
16312
16798
  connection_id?: string | null;
16313
16799
  created_at?: string;
@@ -16510,15 +16996,7 @@ export type Database = {
16510
16996
  workday_end?: string | null;
16511
16997
  workday_start?: string | null;
16512
16998
  };
16513
- Relationships: [
16514
- {
16515
- foreignKeyName: "uren_cao_profiles_monteur_id_fkey";
16516
- columns: ["monteur_id"];
16517
- isOneToOne: true;
16518
- referencedRelation: "monteurs";
16519
- referencedColumns: ["id"];
16520
- }
16521
- ];
16999
+ Relationships: [];
16522
17000
  };
16523
17001
  uren_entries: {
16524
17002
  Row: {
@@ -16564,13 +17042,6 @@ export type Database = {
16564
17042
  werkbon_id?: string | null;
16565
17043
  };
16566
17044
  Relationships: [
16567
- {
16568
- foreignKeyName: "uren_entries_monteur_id_fkey";
16569
- columns: ["monteur_id"];
16570
- isOneToOne: false;
16571
- referencedRelation: "monteurs";
16572
- referencedColumns: ["id"];
16573
- },
16574
17045
  {
16575
17046
  foreignKeyName: "uren_entries_werkbon_id_fkey";
16576
17047
  columns: ["werkbon_id"];
@@ -17052,19 +17523,12 @@ export type Database = {
17052
17523
  submitted_at?: string | null;
17053
17524
  updated_at?: string;
17054
17525
  };
17055
- Relationships: [
17056
- {
17057
- foreignKeyName: "uren_weekstaten_monteur_id_fkey";
17058
- columns: ["monteur_id"];
17059
- isOneToOne: false;
17060
- referencedRelation: "monteurs";
17061
- referencedColumns: ["id"];
17062
- }
17063
- ];
17526
+ Relationships: [];
17064
17527
  };
17065
17528
  user_module_permissions: {
17066
17529
  Row: {
17067
17530
  created_at: string;
17531
+ feature_id: string;
17068
17532
  id: string;
17069
17533
  module_id: string;
17070
17534
  permission: string;
@@ -17073,6 +17537,7 @@ export type Database = {
17073
17537
  };
17074
17538
  Insert: {
17075
17539
  created_at?: string;
17540
+ feature_id?: string;
17076
17541
  id?: string;
17077
17542
  module_id: string;
17078
17543
  permission: string;
@@ -17081,6 +17546,7 @@ export type Database = {
17081
17546
  };
17082
17547
  Update: {
17083
17548
  created_at?: string;
17549
+ feature_id?: string;
17084
17550
  id?: string;
17085
17551
  module_id?: string;
17086
17552
  permission?: string;
@@ -17118,6 +17584,53 @@ export type Database = {
17118
17584
  }
17119
17585
  ];
17120
17586
  };
17587
+ van_inventories: {
17588
+ Row: {
17589
+ barcode: string | null;
17590
+ created_at: string;
17591
+ id: string;
17592
+ monteur_id: string | null;
17593
+ price_per_unit: number;
17594
+ product_name: string;
17595
+ quantity_current: number;
17596
+ quantity_min: number;
17597
+ unit: string;
17598
+ updated_at: string;
17599
+ };
17600
+ Insert: {
17601
+ barcode?: string | null;
17602
+ created_at?: string;
17603
+ id?: string;
17604
+ monteur_id?: string | null;
17605
+ price_per_unit?: number;
17606
+ product_name: string;
17607
+ quantity_current?: number;
17608
+ quantity_min?: number;
17609
+ unit?: string;
17610
+ updated_at?: string;
17611
+ };
17612
+ Update: {
17613
+ barcode?: string | null;
17614
+ created_at?: string;
17615
+ id?: string;
17616
+ monteur_id?: string | null;
17617
+ price_per_unit?: number;
17618
+ product_name?: string;
17619
+ quantity_current?: number;
17620
+ quantity_min?: number;
17621
+ unit?: string;
17622
+ updated_at?: string;
17623
+ };
17624
+ Relationships: [
17625
+ {
17626
+ foreignKeyName: "van_inventories_monteur_id_fkey";
17627
+ columns: ["monteur_id"];
17628
+ isOneToOne: false;
17629
+ referencedRelation: "profiles";
17630
+ referencedColumns: ["id"];
17631
+ }
17632
+ ];
17633
+ };
17121
17634
  voorraad_custom_fields: {
17122
17635
  Row: {
17123
17636
  created_at: string;
@@ -18091,7 +18604,7 @@ export type Database = {
18091
18604
  foreignKeyName: "work_order_monteurs_monteur_id_fkey";
18092
18605
  columns: ["monteur_id"];
18093
18606
  isOneToOne: false;
18094
- referencedRelation: "monteurs";
18607
+ referencedRelation: "profiles";
18095
18608
  referencedColumns: ["id"];
18096
18609
  },
18097
18610
  {
@@ -18103,6 +18616,63 @@ export type Database = {
18103
18616
  }
18104
18617
  ];
18105
18618
  };
18619
+ work_order_photos: {
18620
+ Row: {
18621
+ ai_caption: string | null;
18622
+ ai_categorized_at: string | null;
18623
+ ai_labels: Json | null;
18624
+ caption: string | null;
18625
+ created_at: string;
18626
+ id: string;
18627
+ monteur_id: string | null;
18628
+ photo_type: string;
18629
+ storage_path: string;
18630
+ updated_at: string;
18631
+ work_order_id: string;
18632
+ };
18633
+ Insert: {
18634
+ ai_caption?: string | null;
18635
+ ai_categorized_at?: string | null;
18636
+ ai_labels?: Json | null;
18637
+ caption?: string | null;
18638
+ created_at?: string;
18639
+ id?: string;
18640
+ monteur_id?: string | null;
18641
+ photo_type?: string;
18642
+ storage_path: string;
18643
+ updated_at?: string;
18644
+ work_order_id: string;
18645
+ };
18646
+ Update: {
18647
+ ai_caption?: string | null;
18648
+ ai_categorized_at?: string | null;
18649
+ ai_labels?: Json | null;
18650
+ caption?: string | null;
18651
+ created_at?: string;
18652
+ id?: string;
18653
+ monteur_id?: string | null;
18654
+ photo_type?: string;
18655
+ storage_path?: string;
18656
+ updated_at?: string;
18657
+ work_order_id?: string;
18658
+ };
18659
+ Relationships: [
18660
+ {
18661
+ foreignKeyName: "work_order_photos_monteur_id_fkey";
18662
+ columns: ["monteur_id"];
18663
+ isOneToOne: false;
18664
+ referencedRelation: "profiles";
18665
+ referencedColumns: ["id"];
18666
+ },
18667
+ {
18668
+ foreignKeyName: "work_order_photos_work_order_id_fkey";
18669
+ columns: ["work_order_id"];
18670
+ isOneToOne: false;
18671
+ referencedRelation: "work_orders";
18672
+ referencedColumns: ["id"];
18673
+ }
18674
+ ];
18675
+ };
18106
18676
  work_orders: {
18107
18677
  Row: {
18108
18678
  assigned_to: string | null;
@@ -18134,7 +18704,6 @@ export type Database = {
18134
18704
  scheduled_end_time: string | null;
18135
18705
  scheduled_start_time: string | null;
18136
18706
  status: string;
18137
- tenant_id: string;
18138
18707
  total_hours_worked: number | null;
18139
18708
  total_price: number | null;
18140
18709
  travel_time_minutes: number | null;
@@ -18172,7 +18741,6 @@ export type Database = {
18172
18741
  scheduled_end_time?: string | null;
18173
18742
  scheduled_start_time?: string | null;
18174
18743
  status?: string;
18175
- tenant_id: string;
18176
18744
  total_hours_worked?: number | null;
18177
18745
  total_price?: number | null;
18178
18746
  travel_time_minutes?: number | null;
@@ -18210,7 +18778,6 @@ export type Database = {
18210
18778
  scheduled_end_time?: string | null;
18211
18779
  scheduled_start_time?: string | null;
18212
18780
  status?: string;
18213
- tenant_id?: string;
18214
18781
  total_hours_worked?: number | null;
18215
18782
  total_price?: number | null;
18216
18783
  travel_time_minutes?: number | null;
@@ -18225,13 +18792,6 @@ export type Database = {
18225
18792
  isOneToOne: false;
18226
18793
  referencedRelation: "work_orders";
18227
18794
  referencedColumns: ["id"];
18228
- },
18229
- {
18230
- foreignKeyName: "work_orders_tenant_id_fkey";
18231
- columns: ["tenant_id"];
18232
- isOneToOne: false;
18233
- referencedRelation: "tenants";
18234
- referencedColumns: ["id"];
18235
18795
  }
18236
18796
  ];
18237
18797
  };
@@ -18929,6 +19489,19 @@ export type Database = {
18929
19489
  };
18930
19490
  Returns: undefined;
18931
19491
  };
19492
+ approve_mailbox_order_proposal: {
19493
+ Args: {
19494
+ p_custom_fields: Json;
19495
+ p_customer_id: string;
19496
+ p_delivery_date: string;
19497
+ p_field_values?: Json;
19498
+ p_lines: Json;
19499
+ p_notes: string;
19500
+ p_proposal_id: string;
19501
+ p_reviewed_by: string;
19502
+ };
19503
+ Returns: Json;
19504
+ };
18932
19505
  assign_cart_numbers: {
18933
19506
  Args: {
18934
19507
  p_carts: Json;
@@ -18980,6 +19553,10 @@ export type Database = {
18980
19553
  };
18981
19554
  Returns: number;
18982
19555
  };
19556
+ can_manage_hours: {
19557
+ Args: never;
19558
+ Returns: boolean;
19559
+ };
18983
19560
  check_offer_product_available_stock: {
18984
19561
  Args: {
18985
19562
  p_campaign_product_id: string;
@@ -19169,6 +19746,7 @@ export type Database = {
19169
19746
  };
19170
19747
  Returns: {
19171
19748
  action: string;
19749
+ attempt_started_at: string | null;
19172
19750
  attempts: number;
19173
19751
  connection_id: string | null;
19174
19752
  created_at: string;
@@ -19256,6 +19834,30 @@ export type Database = {
19256
19834
  agent_naam: string;
19257
19835
  }[];
19258
19836
  };
19837
+ consume_van_inventory: {
19838
+ Args: {
19839
+ p_inventory_id: string;
19840
+ p_quantity: number;
19841
+ };
19842
+ Returns: {
19843
+ barcode: string | null;
19844
+ created_at: string;
19845
+ id: string;
19846
+ monteur_id: string | null;
19847
+ price_per_unit: number;
19848
+ product_name: string;
19849
+ quantity_current: number;
19850
+ quantity_min: number;
19851
+ unit: string;
19852
+ updated_at: string;
19853
+ };
19854
+ SetofOptions: {
19855
+ from: "*";
19856
+ to: "van_inventories";
19857
+ isOneToOne: true;
19858
+ isSetofReturn: false;
19859
+ };
19860
+ };
19259
19861
  control_get_todays_carts: {
19260
19862
  Args: never;
19261
19863
  Returns: {
@@ -19329,6 +19931,13 @@ export type Database = {
19329
19931
  _user_id: string;
19330
19932
  };
19331
19933
  Returns: string;
19934
+ } | {
19935
+ Args: {
19936
+ _feature_id?: string;
19937
+ _module_id: string;
19938
+ _user_id: string;
19939
+ };
19940
+ Returns: string;
19332
19941
  };
19333
19942
  email_auth_decrypt: {
19334
19943
  Args: {
@@ -19680,12 +20289,6 @@ export type Database = {
19680
20289
  Args: never;
19681
20290
  Returns: string;
19682
20291
  };
19683
- get_work_order_tenant_id: {
19684
- Args: {
19685
- wo_id: string;
19686
- };
19687
- Returns: string;
19688
- };
19689
20292
  has_module_permission: {
19690
20293
  Args: {
19691
20294
  _min: string;
@@ -19719,6 +20322,13 @@ export type Database = {
19719
20322
  };
19720
20323
  Returns: boolean;
19721
20324
  };
20325
+ is_time_log_week_locked: {
20326
+ Args: {
20327
+ p_employee_id: string;
20328
+ p_start_time: string;
20329
+ };
20330
+ Returns: boolean;
20331
+ };
19722
20332
  is_user_admin: {
19723
20333
  Args: never;
19724
20334
  Returns: boolean;
@@ -19733,13 +20343,14 @@ export type Database = {
19733
20343
  };
19734
20344
  Returns: boolean;
19735
20345
  };
19736
- list_monteurs: {
20346
+ list_medewerkers: {
19737
20347
  Args: never;
19738
20348
  Returns: {
19739
20349
  avatar_url: string;
19740
20350
  display_name: string;
19741
20351
  email: string;
19742
20352
  id: string;
20353
+ roles: string[];
19743
20354
  }[];
19744
20355
  };
19745
20356
  list_my_planning_items: {
@@ -20230,6 +20841,65 @@ export type Database = {
20230
20841
  };
20231
20842
  Returns: number;
20232
20843
  };
20844
+ logistics_plan_claim: {
20845
+ Args: {
20846
+ p_limit?: number;
20847
+ };
20848
+ Returns: {
20849
+ attempts: number;
20850
+ id: string;
20851
+ order_id: string;
20852
+ }[];
20853
+ };
20854
+ logistics_plan_enqueue: {
20855
+ Args: {
20856
+ p_order_id: string;
20857
+ p_reason?: string;
20858
+ };
20859
+ Returns: undefined;
20860
+ };
20861
+ logistics_plan_ensure_event: {
20862
+ Args: {
20863
+ p_order_id: string;
20864
+ };
20865
+ Returns: boolean;
20866
+ };
20867
+ logistics_plan_finish: {
20868
+ Args: {
20869
+ p_error?: string;
20870
+ p_id: string;
20871
+ };
20872
+ Returns: undefined;
20873
+ };
20874
+ logistics_plan_impact_orders: {
20875
+ Args: {
20876
+ p_order_id: string;
20877
+ };
20878
+ Returns: {
20879
+ buffer_id: string;
20880
+ order_id: string;
20881
+ plan_date: string;
20882
+ }[];
20883
+ };
20884
+ logistics_plan_kick: {
20885
+ Args: never;
20886
+ Returns: undefined;
20887
+ };
20888
+ logistics_plan_prune: {
20889
+ Args: never;
20890
+ Returns: number;
20891
+ };
20892
+ logistics_plan_release_stale: {
20893
+ Args: never;
20894
+ Returns: number;
20895
+ };
20896
+ logistics_plan_setting: {
20897
+ Args: {
20898
+ p_default: number;
20899
+ p_key: string;
20900
+ };
20901
+ Returns: number;
20902
+ };
20233
20903
  logistics_queue_capacity_email: {
20234
20904
  Args: {
20235
20905
  p_alert_id: string;
@@ -20471,6 +21141,7 @@ export type Database = {
20471
21141
  my_module_permissions: {
20472
21142
  Args: never;
20473
21143
  Returns: {
21144
+ feature_id: string;
20474
21145
  module_id: string;
20475
21146
  permission: string;
20476
21147
  }[];
@@ -21351,6 +22022,16 @@ export type Database = {
21351
22022
  };
21352
22023
  Returns: string[];
21353
22024
  };
22025
+ switch_time_log: {
22026
+ Args: {
22027
+ p_employee_id: string;
22028
+ p_start_lat?: number;
22029
+ p_start_lng?: number;
22030
+ p_type: string;
22031
+ p_work_order_id?: string;
22032
+ };
22033
+ Returns: Json;
22034
+ };
21354
22035
  sync_all_layer_stocks: {
21355
22036
  Args: never;
21356
22037
  Returns: undefined;
@@ -21401,6 +22082,24 @@ export type Database = {
21401
22082
  };
21402
22083
  Returns: boolean;
21403
22084
  };
22085
+ twinfield_cron_lock_acquire: {
22086
+ Args: {
22087
+ _job_name: string;
22088
+ _stale_seconds?: number;
22089
+ };
22090
+ Returns: boolean;
22091
+ };
22092
+ twinfield_cron_lock_release: {
22093
+ Args: {
22094
+ _error?: string;
22095
+ _job_name: string;
22096
+ };
22097
+ Returns: undefined;
22098
+ };
22099
+ twinfield_prune_push_queue: {
22100
+ Args: never;
22101
+ Returns: number;
22102
+ };
21404
22103
  twinfield_register_cron: {
21405
22104
  Args: {
21406
22105
  apikey?: string;