@feedmepos/mf-hrm-portal 2.3.0-dev.15 → 2.3.0-dev.17

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 (56) hide show
  1. package/dist/{ApprovalCodeList-CY0ox1dX.js → ApprovalCodeList-CQp5AXmP.js} +7 -7
  2. package/dist/{AuditLogList-CBkA-KQT.js → AuditLogList-CBOp_hDR.js} +5 -5
  3. package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-B8cb8yqV.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-_2_usHCJ.js} +2 -2
  4. package/dist/{EmployeeList-0PrcuHPJ.js → EmployeeList-1vR0zMMp.js} +8 -8
  5. package/dist/{FormItem.vue_vue_type_script_setup_true_lang-rjDE1B4E.js → FormItem.vue_vue_type_script_setup_true_lang-NR_aWS7l.js} +1 -1
  6. package/dist/{GrantUserList-Dw923P2j.js → GrantUserList-CmeAG1Gy.js} +8 -8
  7. package/dist/{Main-Dpf2KdSH.js → Main-BUTiZtwj.js} +5 -5
  8. package/dist/{Main-C0bcn2NY.js → Main-DLh6VmQX.js} +8 -8
  9. package/dist/{Main-BqX7n1ik.js → Main-DTAb8QWQ.js} +11 -11
  10. package/dist/{PermissionSetList-xrI130SW.js → PermissionSetList-BtaX2k3V.js} +7 -7
  11. package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-3_8qycrF.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-B6dR75q1.js} +649 -649
  12. package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DQcgZ0nF.js} +1 -1
  13. package/dist/{RoleList-DPkG5dg9.js → RoleList-Qyyi7w2u.js} +9 -9
  14. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-EPVMITc0.js +532 -0
  15. package/dist/{ScheduleGeneralPage-CISbuAff.js → ScheduleGeneralPage-CjZ8OFnN.js} +2 -2
  16. package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-BeTuMw3f.js → ScheduleModal.vue_vue_type_script_setup_true_lang-KOLBDv21.js} +523 -512
  17. package/dist/SchedulePage-BWpgAx3a.js +18831 -0
  18. package/dist/{SchedulePositionPage-Cu3WRfH-.js → SchedulePositionPage-Cu6rRBlZ.js} +3 -3
  19. package/dist/{SelectFilter-ssnRUIN6.js → SelectFilter-D58Vrs_W.js} +1 -1
  20. package/dist/{TeamMemberList-DTqNCDJb.js → TeamMemberList-CC_okKtX.js} +11 -11
  21. package/dist/{TimesheetList-CA19TmKm.js → TimesheetList-ULjiy1OT.js} +8 -8
  22. package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-B1jnsZpD.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-D9xXvYuA.js} +3 -3
  23. package/dist/{app-3xGY2Rn0.js → app-COD0IHk1.js} +8 -8
  24. package/dist/app.js +1 -1
  25. package/dist/{approval-code-DHsUgc4K.js → approval-code-BXUiojPH.js} +1 -1
  26. package/dist/{dayjs.min-C_c8OoEU.js → dayjs.min-jNfjc_8X.js} +1 -1
  27. package/dist/{employee-Dt0y51t3.js → employee-Db1gyZQZ.js} +4 -4
  28. package/dist/{grant-user-qzKHFTro.js → grant-user-CBJ3gEgW.js} +1 -1
  29. package/dist/{iteration-C4YvbrCe.js → iteration-z1uPD-7T.js} +1 -1
  30. package/dist/{lodash-huRs3Cbj.js → lodash-uwLYB3oL.js} +1 -1
  31. package/dist/{restaurant-BbYRA_IT.js → restaurant-D2mfKHaH.js} +44 -45
  32. package/dist/{role-fM58UmtC.js → role-BhO6Cl-l.js} +2 -2
  33. package/dist/{rule-CCN0QCPF.js → rule-BZ340_dr.js} +3 -3
  34. package/dist/src/api/schedule/index.d.ts +6 -1
  35. package/dist/src/types/schedule.d.ts +1 -1
  36. package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +1 -0
  37. package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +2 -0
  38. package/dist/src/views/scheduling/composables/remyPrompt.d.ts +4 -4
  39. package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +1 -0
  40. package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +1 -0
  41. package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +4 -1
  42. package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +3 -10
  43. package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +1 -0
  44. package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +10 -1
  45. package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +1 -0
  46. package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +6 -0
  47. package/dist/src/views/scheduling/schedule-state.d.ts +232 -232
  48. package/dist/src/views/scheduling/schedule-store.d.ts +4 -0
  49. package/dist/style.css +1 -1
  50. package/dist/tsconfig.app.tsbuildinfo +1 -1
  51. package/dist/{useAppStore-BoLkvkE2.js → useAppStore-DZCdxlCd.js} +1 -1
  52. package/dist/{useLoading-Ch1AUYT1.js → useLoading-Nygx2zn8.js} +1 -1
  53. package/dist/{useReportPermissions-BlX_Mk5f.js → useReportPermissions-BjkeMcNA.js} +3 -3
  54. package/package.json +1 -1
  55. package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-DYLLW46A.js +0 -501
  56. package/dist/SchedulePage-Dn6_TiBS.js +0 -18757
@@ -1,19 +1,12 @@
1
1
  import type { ScheduleBoardApi } from './useScheduleBoard';
2
- export interface ScheduleCopySkipReport {
3
- leave: number;
4
- already: number;
5
- hours: number;
6
- full: number;
7
- closed: number;
8
- }
9
2
  /** The mockup's Copy schedule feature (copyLastWeek/copyThisWeekForward), ported against this
10
- * board's per-week-offset bucket cache instead of the mockup's absolute 91-day horizon. Split
11
- * shifts (copyUnitsOf in the mockup) aren't ported — WorkSlot has no splitId concept in this
12
- * data model, so each slot is copied as its own unit. */
3
+ * board's per-week-offset bucket cache instead of the mockup's absolute 91-day horizon. */
13
4
  export declare function useScheduleCopyWeek(board: ScheduleBoardApi, handlers?: {
14
5
  onDemandChanged?: () => void;
6
+ onConfirmOverwrite?: (message: string, onConfirm: () => void) => void;
15
7
  }): {
16
8
  copyLastWeek: (mode: "staffed" | "open") => Promise<void>;
17
9
  copyThisWeekForward: (mode: "staffed" | "open") => Promise<void>;
10
+ isCopying: import("vue").Ref<boolean, boolean>;
18
11
  };
19
12
  export type ScheduleCopyWeekApi = ReturnType<typeof useScheduleCopyWeek>;
@@ -18,6 +18,7 @@ interface UseScheduleEmployeePersistenceOptions {
18
18
  }[]>;
19
19
  effectiveRate: ComputedRef<number>;
20
20
  passcodeValue: ComputedRef<string>;
21
+ deferScheduleWrites: Ref<boolean>;
21
22
  notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
22
23
  }
23
24
  /** Persistence for an existing business employee being added to this schedule. */
@@ -599,10 +599,13 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
599
599
  };
600
600
  moveShift: (fromEmpId: number, fromDayIdx: number, toEmpId: number, toDayIdx: number, fromSlotIndex?: number, fromSlotCount?: number, targetPosition?: string) => boolean;
601
601
  swapShifts: (empIdA: number, empIdB: number, dayA: number, dayB?: number, slotIndexA?: number, slotIndexB?: number, slotCountA?: number) => boolean;
602
- clearShiftsInRange: () => {
602
+ clearShiftsInRange: (options?: {
603
+ persist?: boolean;
604
+ }) => {
603
605
  shifts: number;
604
606
  open: number;
605
607
  leave: number;
608
+ assignmentIds: string[];
606
609
  };
607
610
  requiredFor: (dayIdx: number, position: string) => number;
608
611
  scheduledFor: (dayIdx: number, position: string) => number;
@@ -627,6 +630,8 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
627
630
  id: string;
628
631
  name: string;
629
632
  }[]>;
633
+ pendingCreates: string[];
634
+ pendingDeletes: Set<string>;
630
635
  count: import("vue").ComputedRef<number>;
631
636
  isAdding: import("vue").Ref<boolean, boolean>;
632
637
  newName: import("vue").Ref<string, string>;
@@ -640,6 +645,9 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
640
645
  askDelete: (id: string) => void;
641
646
  cancelDelete: () => void;
642
647
  confirmDelete: (id: string) => Promise<void>;
648
+ commitCreates: () => Promise<void>;
649
+ commitDeletes: () => Promise<void>;
650
+ discardPending: () => void;
643
651
  };
644
652
  steps: ScheduleOnboardingStep[];
645
653
  isSkippable: import("vue").ComputedRef<boolean>;
@@ -1462,6 +1470,7 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
1462
1470
  availabilityError: import("vue").ComputedRef<boolean>;
1463
1471
  saving: import("vue").Ref<boolean, boolean>;
1464
1472
  saveError: import("vue").Ref<string | null, string | null>;
1473
+ deferScheduleWrites: import("vue").Ref<boolean, boolean>;
1465
1474
  candidatesLoading: import("vue").Ref<boolean, boolean>;
1466
1475
  candidatesError: import("vue").Ref<string | null, string | null>;
1467
1476
  openWizard: (section: string) => void;
@@ -14,6 +14,7 @@ type Snackbar = {
14
14
  };
15
15
  export declare function useSchedulePageClearActions(board: ScheduleBoardApi, demand: ScheduleDemandApi, snackbar: Snackbar): {
16
16
  clearKind: import("vue").Ref<ClearKind | null, ClearKind | null>;
17
+ clearing: import("vue").Ref<boolean, boolean>;
17
18
  onConfirmClear: () => Promise<void>;
18
19
  };
19
20
  export type SchedulePageClearActionsApi = ReturnType<typeof useSchedulePageClearActions>;
@@ -4,6 +4,7 @@ export interface SchedulePositionRow {
4
4
  }
5
5
  export declare function useSchedulePositions(options?: {
6
6
  notify?: (message: string, type?: 'success' | 'error' | 'info') => void;
7
+ deferWrites?: boolean;
7
8
  }): {
8
9
  positions: import("vue").Ref<{
9
10
  id: string;
@@ -12,6 +13,8 @@ export declare function useSchedulePositions(options?: {
12
13
  id: string;
13
14
  name: string;
14
15
  }[]>;
16
+ pendingCreates: string[];
17
+ pendingDeletes: Set<string>;
15
18
  count: import("vue").ComputedRef<number>;
16
19
  isAdding: import("vue").Ref<boolean, boolean>;
17
20
  newName: import("vue").Ref<string, string>;
@@ -25,5 +28,8 @@ export declare function useSchedulePositions(options?: {
25
28
  askDelete: (id: string) => void;
26
29
  cancelDelete: () => void;
27
30
  confirmDelete: (id: string) => Promise<void>;
31
+ commitCreates: () => Promise<void>;
32
+ commitDeletes: () => Promise<void>;
33
+ discardPending: () => void;
28
34
  };
29
35
  export type SchedulePositionsApi = ReturnType<typeof useSchedulePositions>;
@@ -56,41 +56,29 @@ export declare const scheduleState: {
56
56
  } | null;
57
57
  headcount: number;
58
58
  }[];
59
- settings: {
60
- settingsConfigured?: boolean | undefined;
61
- overtime: {
62
- maxHoursPerMonth: number | null;
63
- };
64
- payRate: {
65
- NORMAL: {
66
- overtime: number;
67
- };
68
- REST_DAY: {
69
- overtime: number;
70
- regular: number;
71
- };
72
- PUBLIC_HOLIDAY: {
73
- overtime: number;
74
- regular: number;
75
- };
76
- };
77
- setupCompleted: boolean;
78
- workingHours: {
79
- minHoursPerDay: number | null;
80
- maxHoursPerDay: number | null;
81
- maxHoursPerWeek: number | null;
82
- };
83
- };
84
- restaurantProfile: {
85
- operatingHours: {
86
- hours: {
87
- start: string;
88
- end: string;
89
- }[];
90
- dayOfWeek: number;
91
- closed: boolean;
92
- }[];
93
- };
59
+ assignments: {
60
+ status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
61
+ date: string;
62
+ startTime: string;
63
+ endTime: string;
64
+ id: string;
65
+ employeeId: string;
66
+ position: {
67
+ positionId: string;
68
+ positionName: string;
69
+ } | null;
70
+ breaks: ({
71
+ type: "DURATION";
72
+ minutes: number;
73
+ breakPayType: "PAID" | "UNPAID";
74
+ } | {
75
+ type: "TIME_RANGE";
76
+ breakPayType: "PAID" | "UNPAID";
77
+ startTime: string;
78
+ endTime: string;
79
+ })[];
80
+ updatedAt: string;
81
+ }[];
94
82
  positions: {
95
83
  id: string;
96
84
  name: string;
@@ -126,29 +114,41 @@ export declare const scheduleState: {
126
114
  end: string;
127
115
  }[];
128
116
  }[];
129
- assignments: {
130
- status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
131
- date: string;
132
- startTime: string;
133
- endTime: string;
134
- id: string;
135
- employeeId: string;
136
- position: {
137
- positionId: string;
138
- positionName: string;
139
- } | null;
140
- breaks: ({
141
- type: "DURATION";
142
- minutes: number;
143
- breakPayType: "PAID" | "UNPAID";
144
- } | {
145
- type: "TIME_RANGE";
146
- breakPayType: "PAID" | "UNPAID";
147
- startTime: string;
148
- endTime: string;
149
- })[];
150
- updatedAt: string;
151
- }[];
117
+ settings: {
118
+ settingsConfigured?: boolean | undefined;
119
+ overtime: {
120
+ maxHoursPerMonth: number | null;
121
+ };
122
+ payRate: {
123
+ NORMAL: {
124
+ overtime: number;
125
+ };
126
+ REST_DAY: {
127
+ overtime: number;
128
+ regular: number;
129
+ };
130
+ PUBLIC_HOLIDAY: {
131
+ overtime: number;
132
+ regular: number;
133
+ };
134
+ };
135
+ setupCompleted: boolean;
136
+ workingHours: {
137
+ minHoursPerDay: number | null;
138
+ maxHoursPerDay: number | null;
139
+ maxHoursPerWeek: number | null;
140
+ };
141
+ };
142
+ restaurantProfile: {
143
+ operatingHours: {
144
+ hours: {
145
+ start: string;
146
+ end: string;
147
+ }[];
148
+ dayOfWeek: number;
149
+ closed: boolean;
150
+ }[];
151
+ };
152
152
  } | null, {
153
153
  timeOff: {
154
154
  type: "OFF_DAY" | "LEAVE";
@@ -197,41 +197,29 @@ export declare const scheduleState: {
197
197
  } | null;
198
198
  headcount: number;
199
199
  }[];
200
- settings: {
201
- settingsConfigured?: boolean | undefined;
202
- overtime: {
203
- maxHoursPerMonth: number | null;
204
- };
205
- payRate: {
206
- NORMAL: {
207
- overtime: number;
208
- };
209
- REST_DAY: {
210
- overtime: number;
211
- regular: number;
212
- };
213
- PUBLIC_HOLIDAY: {
214
- overtime: number;
215
- regular: number;
216
- };
217
- };
218
- setupCompleted: boolean;
219
- workingHours: {
220
- minHoursPerDay: number | null;
221
- maxHoursPerDay: number | null;
222
- maxHoursPerWeek: number | null;
223
- };
224
- };
225
- restaurantProfile: {
226
- operatingHours: {
227
- hours: {
228
- start: string;
229
- end: string;
230
- }[];
231
- dayOfWeek: number;
232
- closed: boolean;
233
- }[];
234
- };
200
+ assignments: {
201
+ status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
202
+ date: string;
203
+ startTime: string;
204
+ endTime: string;
205
+ id: string;
206
+ employeeId: string;
207
+ position: {
208
+ positionId: string;
209
+ positionName: string;
210
+ } | null;
211
+ breaks: ({
212
+ type: "DURATION";
213
+ minutes: number;
214
+ breakPayType: "PAID" | "UNPAID";
215
+ } | {
216
+ type: "TIME_RANGE";
217
+ breakPayType: "PAID" | "UNPAID";
218
+ startTime: string;
219
+ endTime: string;
220
+ })[];
221
+ updatedAt: string;
222
+ }[];
235
223
  positions: {
236
224
  id: string;
237
225
  name: string;
@@ -267,29 +255,41 @@ export declare const scheduleState: {
267
255
  end: string;
268
256
  }[];
269
257
  }[];
270
- assignments: {
271
- status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
272
- date: string;
273
- startTime: string;
274
- endTime: string;
275
- id: string;
276
- employeeId: string;
277
- position: {
278
- positionId: string;
279
- positionName: string;
280
- } | null;
281
- breaks: ({
282
- type: "DURATION";
283
- minutes: number;
284
- breakPayType: "PAID" | "UNPAID";
285
- } | {
286
- type: "TIME_RANGE";
287
- breakPayType: "PAID" | "UNPAID";
288
- startTime: string;
289
- endTime: string;
290
- })[];
291
- updatedAt: string;
292
- }[];
258
+ settings: {
259
+ settingsConfigured?: boolean | undefined;
260
+ overtime: {
261
+ maxHoursPerMonth: number | null;
262
+ };
263
+ payRate: {
264
+ NORMAL: {
265
+ overtime: number;
266
+ };
267
+ REST_DAY: {
268
+ overtime: number;
269
+ regular: number;
270
+ };
271
+ PUBLIC_HOLIDAY: {
272
+ overtime: number;
273
+ regular: number;
274
+ };
275
+ };
276
+ setupCompleted: boolean;
277
+ workingHours: {
278
+ minHoursPerDay: number | null;
279
+ maxHoursPerDay: number | null;
280
+ maxHoursPerWeek: number | null;
281
+ };
282
+ };
283
+ restaurantProfile: {
284
+ operatingHours: {
285
+ hours: {
286
+ start: string;
287
+ end: string;
288
+ }[];
289
+ dayOfWeek: number;
290
+ closed: boolean;
291
+ }[];
292
+ };
293
293
  } | null>;
294
294
  loading: import("vue").Ref<boolean, boolean>;
295
295
  rosterLoading: import("vue").Ref<boolean, boolean>;
@@ -444,41 +444,29 @@ export declare const payload: import("vue").ShallowRef<{
444
444
  } | null;
445
445
  headcount: number;
446
446
  }[];
447
- settings: {
448
- settingsConfigured?: boolean | undefined;
449
- overtime: {
450
- maxHoursPerMonth: number | null;
451
- };
452
- payRate: {
453
- NORMAL: {
454
- overtime: number;
455
- };
456
- REST_DAY: {
457
- overtime: number;
458
- regular: number;
459
- };
460
- PUBLIC_HOLIDAY: {
461
- overtime: number;
462
- regular: number;
463
- };
464
- };
465
- setupCompleted: boolean;
466
- workingHours: {
467
- minHoursPerDay: number | null;
468
- maxHoursPerDay: number | null;
469
- maxHoursPerWeek: number | null;
470
- };
471
- };
472
- restaurantProfile: {
473
- operatingHours: {
474
- hours: {
475
- start: string;
476
- end: string;
477
- }[];
478
- dayOfWeek: number;
479
- closed: boolean;
480
- }[];
481
- };
447
+ assignments: {
448
+ status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
449
+ date: string;
450
+ startTime: string;
451
+ endTime: string;
452
+ id: string;
453
+ employeeId: string;
454
+ position: {
455
+ positionId: string;
456
+ positionName: string;
457
+ } | null;
458
+ breaks: ({
459
+ type: "DURATION";
460
+ minutes: number;
461
+ breakPayType: "PAID" | "UNPAID";
462
+ } | {
463
+ type: "TIME_RANGE";
464
+ breakPayType: "PAID" | "UNPAID";
465
+ startTime: string;
466
+ endTime: string;
467
+ })[];
468
+ updatedAt: string;
469
+ }[];
482
470
  positions: {
483
471
  id: string;
484
472
  name: string;
@@ -514,29 +502,41 @@ export declare const payload: import("vue").ShallowRef<{
514
502
  end: string;
515
503
  }[];
516
504
  }[];
517
- assignments: {
518
- status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
519
- date: string;
520
- startTime: string;
521
- endTime: string;
522
- id: string;
523
- employeeId: string;
524
- position: {
525
- positionId: string;
526
- positionName: string;
527
- } | null;
528
- breaks: ({
529
- type: "DURATION";
530
- minutes: number;
531
- breakPayType: "PAID" | "UNPAID";
532
- } | {
533
- type: "TIME_RANGE";
534
- breakPayType: "PAID" | "UNPAID";
535
- startTime: string;
536
- endTime: string;
537
- })[];
538
- updatedAt: string;
539
- }[];
505
+ settings: {
506
+ settingsConfigured?: boolean | undefined;
507
+ overtime: {
508
+ maxHoursPerMonth: number | null;
509
+ };
510
+ payRate: {
511
+ NORMAL: {
512
+ overtime: number;
513
+ };
514
+ REST_DAY: {
515
+ overtime: number;
516
+ regular: number;
517
+ };
518
+ PUBLIC_HOLIDAY: {
519
+ overtime: number;
520
+ regular: number;
521
+ };
522
+ };
523
+ setupCompleted: boolean;
524
+ workingHours: {
525
+ minHoursPerDay: number | null;
526
+ maxHoursPerDay: number | null;
527
+ maxHoursPerWeek: number | null;
528
+ };
529
+ };
530
+ restaurantProfile: {
531
+ operatingHours: {
532
+ hours: {
533
+ start: string;
534
+ end: string;
535
+ }[];
536
+ dayOfWeek: number;
537
+ closed: boolean;
538
+ }[];
539
+ };
540
540
  } | null, {
541
541
  timeOff: {
542
542
  type: "OFF_DAY" | "LEAVE";
@@ -585,41 +585,29 @@ export declare const payload: import("vue").ShallowRef<{
585
585
  } | null;
586
586
  headcount: number;
587
587
  }[];
588
- settings: {
589
- settingsConfigured?: boolean | undefined;
590
- overtime: {
591
- maxHoursPerMonth: number | null;
592
- };
593
- payRate: {
594
- NORMAL: {
595
- overtime: number;
596
- };
597
- REST_DAY: {
598
- overtime: number;
599
- regular: number;
600
- };
601
- PUBLIC_HOLIDAY: {
602
- overtime: number;
603
- regular: number;
604
- };
605
- };
606
- setupCompleted: boolean;
607
- workingHours: {
608
- minHoursPerDay: number | null;
609
- maxHoursPerDay: number | null;
610
- maxHoursPerWeek: number | null;
611
- };
612
- };
613
- restaurantProfile: {
614
- operatingHours: {
615
- hours: {
616
- start: string;
617
- end: string;
618
- }[];
619
- dayOfWeek: number;
620
- closed: boolean;
621
- }[];
622
- };
588
+ assignments: {
589
+ status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
590
+ date: string;
591
+ startTime: string;
592
+ endTime: string;
593
+ id: string;
594
+ employeeId: string;
595
+ position: {
596
+ positionId: string;
597
+ positionName: string;
598
+ } | null;
599
+ breaks: ({
600
+ type: "DURATION";
601
+ minutes: number;
602
+ breakPayType: "PAID" | "UNPAID";
603
+ } | {
604
+ type: "TIME_RANGE";
605
+ breakPayType: "PAID" | "UNPAID";
606
+ startTime: string;
607
+ endTime: string;
608
+ })[];
609
+ updatedAt: string;
610
+ }[];
623
611
  positions: {
624
612
  id: string;
625
613
  name: string;
@@ -655,29 +643,41 @@ export declare const payload: import("vue").ShallowRef<{
655
643
  end: string;
656
644
  }[];
657
645
  }[];
658
- assignments: {
659
- status: "DRAFT" | "PUBLISHED" | "CONFIRMED";
660
- date: string;
661
- startTime: string;
662
- endTime: string;
663
- id: string;
664
- employeeId: string;
665
- position: {
666
- positionId: string;
667
- positionName: string;
668
- } | null;
669
- breaks: ({
670
- type: "DURATION";
671
- minutes: number;
672
- breakPayType: "PAID" | "UNPAID";
673
- } | {
674
- type: "TIME_RANGE";
675
- breakPayType: "PAID" | "UNPAID";
676
- startTime: string;
677
- endTime: string;
678
- })[];
679
- updatedAt: string;
680
- }[];
646
+ settings: {
647
+ settingsConfigured?: boolean | undefined;
648
+ overtime: {
649
+ maxHoursPerMonth: number | null;
650
+ };
651
+ payRate: {
652
+ NORMAL: {
653
+ overtime: number;
654
+ };
655
+ REST_DAY: {
656
+ overtime: number;
657
+ regular: number;
658
+ };
659
+ PUBLIC_HOLIDAY: {
660
+ overtime: number;
661
+ regular: number;
662
+ };
663
+ };
664
+ setupCompleted: boolean;
665
+ workingHours: {
666
+ minHoursPerDay: number | null;
667
+ maxHoursPerDay: number | null;
668
+ maxHoursPerWeek: number | null;
669
+ };
670
+ };
671
+ restaurantProfile: {
672
+ operatingHours: {
673
+ hours: {
674
+ start: string;
675
+ end: string;
676
+ }[];
677
+ dayOfWeek: number;
678
+ closed: boolean;
679
+ }[];
680
+ };
681
681
  } | null>, loading: import("vue").Ref<boolean, boolean>, rosterLoading: import("vue").Ref<boolean, boolean>, loadError: import("vue").Ref<string | null, string | null>, scheduleSetupCompleted: import("vue").Ref<boolean, boolean>, dataVersion: import("vue").Ref<number, number>, outletId: import("vue").Ref<string, string>, restaurantEmployees: import("vue").Ref<{
682
682
  _id: string;
683
683
  name: string;
@@ -120,6 +120,10 @@ export declare function applyAutoSchedule(req: FdtoScheduleAutoScheduleApplyReq)
120
120
  export declare function createAssignment(req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment>;
121
121
  export declare function updateAssignment(id: string, req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment | null>;
122
122
  export declare function bulkSaveAssignments(req: Parameters<typeof ScheduleAPI.bulkSaveAssignments>[1]): Promise<Awaited<ReturnType<typeof ScheduleAPI.bulkSaveAssignments>>>;
123
+ /** Replaces demand and/or assignments in one backend transaction. */
124
+ export declare function copySchedule(req: Parameters<typeof ScheduleAPI.copySchedule>[1]): Promise<Awaited<ReturnType<typeof ScheduleAPI.copySchedule>>>;
125
+ /** Clears demand and/or assignments in one backend transaction. */
126
+ export declare function clearSchedule(req: Parameters<typeof ScheduleAPI.clearSchedule>[1]): Promise<Awaited<ReturnType<typeof ScheduleAPI.clearSchedule>>>;
123
127
  /** Deletes a batch of existing assignments in a single request — see
124
128
  * `ScheduleAPI.deleteAssignments`. Deleting one is just this with a single-id array. */
125
129
  export declare function deleteAssignments(ids: string[]): Promise<void>;