Ye ek proper approval chain hai taaki roster me gadbad na ho:
Step 1 — Staff request dalta hai: Mobile app ke Request Swap screen ya web staff portal (/staff-portal → 🔄 Shift Swaps → Request) se — kis colleague ke saath, kaunsi apni date aur kaunsi uski date exchange karni hai, reason ke saath. Status: 'Waiting colleague'.
Step 2 — Colleague accept/reject karta hai: Jis staff se swap maanga hai wo pehle haan/na karta hai. Accept par status 'Needs admin' ho jata hai; reject par wahi khatam.
Step 3 — Admin final approval:
- Sidebar → People → Staff → HR Masters → Shift Swaps tab kholo.
- 'Pending' view me sirf aapke decision wale dikhte hain ('All' me pura history).
- Table me Requester, Target, dono ki off-dates, status aur reason dikhta hai.
- ✓ Approve ya ✗ Reject (reject par optional reason).
Approve hone par: dono staff ke attendance records automatic adjust hote hain — exchanged days par weekoff status set ho jata hai. Manually kuch nahi karna.
Status badges samjho: Waiting colleague → Needs admin → Approved / Colleague rejected / Admin rejected / Cancelled.
Mobile parity: staff ke liye Request Swap + My Swaps screens, admin ke liye Admin Shift Swaps screen aur HR Master → Shift Swaps tab mobile app me hain.