Table of Contents
- How to use this workbook
- Lab 1 — System orientation Foundation
- Lab 2 — Resume intake & tagging Foundation
- Lab 3 — Talent Pool search & segments Foundation
- Lab 4 — Posting Request + approval Intermediate
- Lab 5 — Candidate Mobile experience Intermediate
- Lab 6 — Schedule + run an Interview Intermediate
- Lab 7 — Offer + acceptance Intermediate
- Lab 8 — Overseas hire (visa + mobilisation) Advanced
- Lab 9 — Onboarding checklist Intermediate
- Lab 10 — Industrial Training cycle Intermediate
- Lab 11 — Attendance + Regularization Intermediate
- Lab 12 — Duty Roster build + swap Advanced
- Lab 13 — Leave application + approval Intermediate
- Lab 14 — Payroll Run + payslip Advanced
- Lab 15 — Hire-to-payslip end-to-end Advanced
- Final assessment
- Answer key (trainers)
How to use this workbook
This workbook accompanies the Folks HR User Manual. Each lab walks a real-world scenario, asks you to perform the steps, and ends with self-check questions. Save your work after every step so a trainer can review your progress.
Before you start
- You have a working login with SuperAdmin or a fully-scoped HR-Admin role.
- The API and FE are both running — locally or against the UAT environment.
- The DB
Folkshr_V1(or localFolksHR_MasGen_V1) is reachable and seeded. - Have a notebook to record codes (Resume IDs, Posting Codes, Application IDs, Employee Codes, Payroll Run Codes) — these flow through later labs.
- Optional: a sample CV PDF for upload, a sample candidate photo, and a sample medical certificate.
Skill levels
Anyone can do these. Login, resume intake, talent search.
Recruitment cycle, onboarding, training, attendance, leave.
Overseas hire with visa, full Roster build, Payroll run, end-to-end scenario.
Conventions used in this workbook
DO — Action
An action you perform on screen.
SEE — Outcome
The expected result you should observe.
NOTE — Record
A value (code, number) to write down.
Q — Self-check
A question to test your understanding.
Lab 1 — System orientation
FoundationLog in, walk the four module groups (Recruit / Onboard / Operate / Pay), confirm your role.
1.1 First login
- Open the FE URL. Sign in with the trainer-provided credentials.
- Land on dashboard / DefaultPath of your role.
- Record your role from the top right.
1.2 Walk the modules
- Open Resume, then PostReq, then IntDes, then Onboarding, then ERD, then Attendance, then DutyRoast, then LeaveMng, then Payroll.
- Each module has a list page and a dashboard / inbox.
1.3 Standard page anatomy
- Open ERD → Employees. Identify: header toolbar, filter strip, grid, action column, breadcrumb.
Self-check
- Q1.1 What's the difference between an Employee Login and a Candidate Login?
- Q1.2 Where is your role's DefaultPath stored?
- Q1.3 If a sub-menu is hidden, which UM table likely lacks a privilege row?
Lab 2 — Resume intake & tagging
FoundationUpload three CVs, observe parsing, and add manual tags where parsing missed.
2.1 Upload three CVs
- Open Resume → Upload. Drag three sample CVs (or use trainer-provided files).
- Three Resume rows appear; each shows Parsing then Parsed within seconds.
- Record the three Resume IDs.
2.2 Inspect parsing output
- Open one Resume. Inspect tabs: Skills, Education, Experience, Tags.
- Note any obvious gaps (missing skills, wrong years).
2.3 Add manual tags
- Add tags:
Senior,Available-Immediately,UAE-based(or whichever fits the CV).
2.4 Re-parse
- Click Re-parse on one Resume. Confirm parsing re-runs.
Self-check
- Q2.1 What three child tables hold parsed data?
- Q2.2 What's the difference between auto and manual tags?
- Q2.3 If a CV is corrupt PDF, what happens?
Lab 3 — Talent Pool search & segments
FoundationBuild a saved search for "Senior C# developers in UAE with 5+ years".
3.1 Build the search
- Open Resume → Talent Pool. Filters: Skill =
C#, Experience =5+, Country =UAE, Tag =Senior. - Result count updates live as you add filters.
3.2 Save as Segment
- Click Save as Segment. Name: Senior C# UAE 5+.
- Segment appears in the side list.
3.3 Open from Segments
- Click the saved segment from the list. Verify it loads with the same filters.
Self-check
- Q3.1 Where is the segment definition stored?
- Q3.2 How does a segment auto-refresh?
Lab 4 — Posting Request + approval
IntermediateRaise a posting for a Software Engineer at HQ; submit; switch role and approve.
4.1 Raise the posting
- Open PostReq → New. Designation: Software Engineer; Department: IT; Headcount: 2; Location: HQ; Contract: Permanent; Salary: 8,000–14,000.
- Required Skills: C#, ASP.NET, Blazor, SQL Server.
- JD: paste a 200-word description; OpenUntil: today + 30 days.
- Save as Draft. Record the Posting Code.
4.2 Submit for approval
- Click Submit for Approval. Status flips to Submitted.
4.3 Approve (as HR Head)
- Log out; log in as HR Head (or use the trainer-provided second account).
- Open PostReq → Approval Inbox. Click your row → Approve.
- Status flips to Approved → Open; posting is now visible to candidates.
Self-check
- Q4.1 What workflow engine routes the posting?
- Q4.2 If salary range exceeds threshold, who else approves?
- Q4.3 What auto-closes a posting?
Lab 5 — Candidate Mobile experience
IntermediateOpen the candidate-mobile portal; self-register; apply to the posting from Lab 4; upload documents.
5.1 Self-register
- Open the CandMob URL (or the same URL with mobile layout). Click Sign up.
- Enter your test email + mobile. Verify OTP. Set password.
- Record the candidate login.
5.2 Browse postings
- Open Postings. Locate your Software Engineer posting.
5.3 Apply
- Click Apply. Upload a CV + photo + ID scan.
- Application created with status Applied; a Resume row is auto-created.
5.4 Track
- Open My Applications. See status and timeline.
Self-check
- Q5.1 What table links Resume to Posting?
- Q5.2 Why is candidate auth separate from employee auth?
Lab 6 — Schedule + run an Interview
IntermediateSchedule a 2-round interview, simulate panel feedback, decide disposition.
6.1 Shortlist
- Open PostReq → Applications for your posting. Mark Lab 5's application as Shortlisted.
6.2 Schedule Round 1 (Phone)
- Open IntDes → Schedule. Type: Phone; Panel: yourself; Date: tomorrow 10:00.
- Candidate sees the booking on CandMob; you get inbox notification.
6.3 Submit feedback
- Open the Round → Feedback. Fill the rubric: Technical 4, Communication 4, Cultural 5; Recommendation: Hire.
6.4 Round 2 (Panel)
- Schedule Round 2 with 2 panel members. Submit feedback for both (use trainer accounts or simulate).
6.5 Disposition
- Once all feedback is in, on the Application page click Selected.
- Status flips; Generate Offer button enables.
Self-check
- Q6.1 Why are panellist feedbacks hidden until all are submitted?
- Q6.2 Can a single Application have multiple Rounds?
Lab 7 — Offer + acceptance
IntermediateGenerate an offer, get HR Head approval, send it, simulate candidate acceptance.
7.1 Generate
- From the Application page click Generate Offer.
- Salary: 11,000; allowances: HRA 4,000, Transport 1,000; joining: today + 14 days; notice 30.
- Record Offer Code.
7.2 Approval
- Click Submit for Approval. Switch role to HR Head; approve.
7.3 Send
- Approved offer auto-generates PDF and pushes to candidate-mobile inbox + email.
7.4 Acceptance (as candidate)
- Login to CandMob; open My Offers; click Accept.
- Application → Hired; an Onboarding row auto-creates.
Self-check
- Q7.1 What auto-creates on Offer acceptance?
- Q7.2 How long does the candidate have to respond?
- Q7.3 What happens if Lapsed?
Lab 8 — Overseas hire (visa + mobilisation)
AdvancedRun a parallel hire for a UAE site from an India-based candidate; track visa and arrange flight + hotel.
8.1 Raise an overseas posting
- Open OverseaseRec → New Overseas Posting. Country: UAE; Site: Dubai HQ; Visa Type: Employment 2-year; Contract: Fixed-term 24 months.
8.2 Application + interview (compressed)
- Use a CV from Lab 2 or upload a new one. Apply, schedule a single video round, mark Selected.
8.3 Generate offer with overseas allowances
- Generate offer with overseas allowance (e.g. accommodation 3,000, travel 1,500, hardship 800). Submit + approve.
8.4 Visa Application
- On offer accept, open OverseaseRec → Visa Application; status: Initiated.
- Capture passport details, visa type, sponsor entity, expected processing days.
- Walk it through: Documents Submitted → Under Review → Issued (simulate by editing dates).
8.5 Mobilisation
- Open OverseaseRec → Mobilisation. Add: Flight booking (BOM → DXB), Hotel (3 nights), Ground transfer (airport → hotel).
Self-check
- Q8.1 Mobilisation cannot start until what visa status?
- Q8.2 What's the difference between domestic and overseas posting?
- Q8.3 What's Demobilisation for?
Lab 9 — Onboarding checklist
IntermediateFor your domestic hire from Lab 7, complete each checklist item, allocate Employee Code, flip to Joined.
9.1 Open the onboarding row
- Open Onboarding → My Pipeline. Click your hire's row.
9.2 Document collection
- Upload (or mark received): ID, education, experience letters, photo.
9.3 IT, ID card, biometric
- Mark IT Account = Created (record email).
- Mark ID Card = Issued.
- Mark Biometric = Enrolled.
9.4 BGV, insurance, contract
- Mark BGV = Initiated → Cleared (skip waiting). Insurance = Enrolled. Contract = Signed (upload PDF).
9.5 Day-1 ready → Joined
- Once all required items are done, status auto-flips to Day-1 Ready.
- On joining day, click Mark Joined. SP allocates Employee Code.
- Record the new Employee Code.
Self-check
- Q9.1 What does Mark Joined do beyond status?
- Q9.2 What happens if a candidate doesn't show up?
Lab 10 — Industrial Training cycle
IntermediateEnrol your new joiner into the Induction program; mark attendance for 3 days; record assessment; issue certificate.
10.1 Find the program
- Open IndTraing → Programs. Pick (or create) Induction.
10.2 Schedule a Session
- Add a session: 3-day, room/site, trainer.
10.3 Enrol
- Enrol your new joiner (auto-suggested from Onboarding rule, or add manually).
10.4 Daily attendance
- For each of 3 days, mark Present.
10.5 Assessment + certificate
- Record assessment score (e.g. 84%).
- System generates a Certificate PDF; visible on the employee's ERD → Certifications tab.
Self-check
- Q10.1 What blocks shift placement on certain roles?
- Q10.2 How does Onboarding know to auto-enrol?
Lab 11 — Attendance + Regularization
IntermediateInspect today's roll-up, simulate a missed punch, raise + approve a regularization.
11.1 Today's dashboard
- Open Attendance → Today. Confirm Present / Late / Absent / Leave KPIs.
11.2 Missed punch
- Pick a Present employee for today. As HR-Admin, delete one of the punches to simulate biometric failure.
- Roll-up may flip to Absent after re-run.
11.3 Raise regularization
- As that employee (Self-Service), open My Records. Click Regularize; provide correct InTime/OutTime + reason.
11.4 Approve
- As Line Manager, approve the request.
- Daily roll-up flips back to Present; Adjustment log records the override.
Self-check
- Q11.1 What's stored in
AttendanceAdjustmentLog? - Q11.2 What if a regularization happens after Payroll cut-off?
Lab 12 — Duty Roster build + swap
AdvancedBuild a 1-week roster for an Operations site, run a coverage check, process a swap.
12.1 Build the roster
- Open DutyRoast → Build. Site, Department, period (next week), default Pattern (e.g. Day-only or 2-shift).
- Grid materialises with each employee × date × shift.
12.2 Adjust + Coverage
- Mark 2 employees on leave for 2 days. Click Coverage Check.
- Red banner if night coverage falls below threshold.
12.3 Publish
- Resolve coverage. Publish — employees can now see in Self-Service.
12.4 Swap
- As Employee A, swap a day with Employee B. Submit.
- As Employee B, accept. As Manager, approve.
Self-check
- Q12.1 Why does Publish need Coverage Check first?
- Q12.2 A holiday lands on a rostered day — what happens?
Lab 13 — Leave application + approval
IntermediateApply for 3 days of Annual Leave; manager approves; balance debited; attendance overridden.
13.1 Check balance
- As employee, open Self-Service → Leave → Balances. Note Annual Leave balance.
13.2 Apply
- Open Leave → Apply. Type: Annual; From/To: 3 working days next week; reason.
- Working-day count is computed using site holidays + roster.
- Record Application No.
13.3 Approve
- As Line Manager, open inbox. Approve.
- Balance debited; AttendanceDaily for those dates flips to On Leave.
13.4 Cancel
- As employee, cancel one day. Balance restored; attendance reverts.
Self-check
- Q13.1 What's the difference between half-day options?
- Q13.2 When does second-level approval kick in?
Lab 14 — Payroll Run + payslip
AdvancedRun payroll for a small group (10 employees); review outliers; approve; generate payslips and bank file.
14.1 Pre-run checklist
- Confirm Attendance cut-off, Pending leaves, Regularizations, Reimbursements all resolved for the period.
14.2 Compute
- Open Payroll → Run → New. Pick Period and Group (10 employees including your new joiner). Click Compute.
- Record Run Code.
14.3 Review
- Open Review. Drill into one line — see earnings + deductions + net.
- Outlier flag visible (very high/low net).
14.4 Approve
- Click Approve. Payslips auto-generate; emailed to employees.
14.5 Bank file
- Click Generate Bank File. Download and inspect the format.
Self-check
- Q14.1 What gates the Approve button?
- Q14.2 If a regularization happens after Approve, what to do?
- Q14.3 What's the bank file format?
Lab 15 — Hire-to-payslip end-to-end
AdvancedBring it all together. One scenario, from CV intake to payslip credited, touching every module.
The scenario
Your team needs an Operations Engineer for a UAE site, joining in 30 days. You will: receive the CV, raise + approve a posting, get the candidate to apply via mobile, run two interview rounds, generate + accept an offer, run the visa + mobilisation, complete onboarding, enrol in induction training, mark the first week of attendance, build a roster, process a half-day leave, and finally run payroll for the first month. Confirm the payslip lands cleanly.
Step list — keep notes!
- Day 0 09:00 — Upload CV; tag Senior · Available · India-based.
- Day 0 10:00 — Raise overseas posting; submit + approve.
- Day 1 14:00 — Candidate self-registers on CandMob, applies, uploads passport.
- Day 2 — Schedule + run 2 video rounds; submit feedback; mark Selected.
- Day 3 — Generate offer with overseas allowances; HR Head approves; PDF sent.
- Day 4 — Candidate accepts; Onboarding row auto-creates.
- Day 5–14 — Visa Application: Initiated → Documents Submitted → Issued.
- Day 15 — Mobilisation: flight + hotel + ground transfer arranged.
- Day 28 — Onboarding checklist complete: docs, IT, ID card, biometric, BGV, contract signed → Day-1 Ready.
- Day 30 (Joining) — Mark Joined; Employee Code allocated.
- Day 30–32 — Induction Training: enrol, daily attendance, assessment, certificate.
- Days 33–60 — Daily attendance via biometric/mobile; one regularization processed.
- Day 35 — Build the upcoming month's Roster including new joiner; publish.
- Day 50 — Half-day leave application + approval.
- Day 60 (Month-end) — Run Payroll for the group; review the new joiner's pro-rata; approve; generate payslips and bank file.
- Day 60+1 — Bank confirms credit; Reconcile marks the line Settled.
What you should have at the end
- 1 Resume → 1 Application → 1 Offer accepted.
- Visa Issued; mobilisation arranged.
- Onboarding complete → Employee Code allocated; ERD has all sections populated.
- Induction Training completed; certificate issued.
- 4 weeks of Attendance + 1 Regularization + 1 Half-day Leave.
- 1 Roster published.
- 1 Payroll Run approved; pro-rata payslip generated; bank file produced; bank reconciled.
Self-check
- Q15.1 Trace the chain: which row's auto-create triggers Onboarding? And the next?
- Q15.2 Pro-rata salary — how does Payroll know the joiner only worked part of the month?
- Q15.3 Where can you see the full audit trail of today's work?
Final Assessment
Closed-book — 30 minutes
Five MCQs, five short-answer questions, one practical. The User Manual is fair game.
What auto-creates when an Offer is Accepted?
- A An Employee row
- B An Onboarding row
- C A Payroll Run
- D A Visa Application
Why is candidate authentication separate from employee authentication?
- A Different password rules
- B Security boundary; candidates cannot see employee privileges
- C Different language pack
- D Performance
Mobilisation cannot start until visa status is …
- A Initiated
- B Documents Submitted
- C Under Review
- D Issued
What overrides Attendance for a date when leave is approved?
- A Roster
- B Approved Leave row in LeaveMng
- C Holiday Calendar only
- D Manual entry by HR-Admin
What gates Payroll Run Approve?
- A Pending leave or regularization on the period
- B Empty bank account
- C Probation review pending
- D Roster not published
Short answers
- Why is the recruitment flow split into Resume → PostReq → IntDes → Offer — what's each one's responsibility?
- Difference between domestic and overseas postings — name three.
- Trace a piece of attendance data from biometric punch to payslip — name the touchpoints.
- What's the carry-forward / encashment logic at year-end?
- How does Probation differ from Confirmed in terms of system behaviour?
Practical (graded by trainer)
For a domestic Operations Engineer hire: complete CV intake → Posting + approval → Application via CandMob → 2 interview rounds → Offer + acceptance → Onboarding → Joining → Induction Training → first week of Attendance → first Leave application → first Payroll run with pro-rata salary. Provide all codes and confirm the payslip PDF.
Answer Key (trainers)
Lab 1 — Q1.1, Q1.2, Q1.3
Q1.1 — Employee Login uses LoginType=Employee; Candidate Login uses LoginType=Candidate. Different menu trees, different RBAC scope.
Q1.2 — On the Login row as DefaultPathID.
Q1.3 — UserRolePrivileges for that SubMenuID is missing.
Lab 2 — Q2.1, Q2.2, Q2.3
Q2.1 — ResumeSkill, ResumeEducation, ResumeExperience.
Q2.2 — Auto tags come from parsing skill list / language; manual tags are recruiter-applied. Both stored in ResumeTag.
Q2.3 — Parsing fails; the row has status ParseFailed; recruiter can re-upload or manually fill in.
Lab 3 — Q3.1, Q3.2
Q3.1 — In TalentPoolSegment as a JSON filter shape.
Q3.2 — Each open of the segment runs the filter against the live Resume table — new uploads appear automatically.
Lab 4 — Q4.1, Q4.2, Q4.3
Q4.1 — UM's Workflow Listener — same engine that drives all approvals.
Q4.2 — Finance Head, when salary range exceeds threshold (configurable per band).
Q4.3 — Headcount filled OR OpenUntil elapsed.
Lab 5 — Q5.1, Q5.2
Q5.1 — Application — links Resume × Posting.
Q5.2 — Security boundary. Candidates browse only public postings; employees use the operational portal.
Lab 6 — Q6.1, Q6.2
Q6.1 — Anti-bias — to prevent first reviewer's opinion influencing later reviewers.
Q6.2 — Yes — many InterviewRound rows per Application.
Lab 7 — Q7.1, Q7.2, Q7.3
Q7.1 — An Onboarding row auto-creates; Application → Hired.
Q7.2 — OfferValidityDays (default 7).
Q7.3 — Same as Declined — Application closed; CV remains in Talent Pool.
Lab 8 — Q8.1, Q8.2, Q8.3
Q8.1 — Issued.
Q8.2 — Country/Visa fields, mobilisation arrangements, fixed-term contract per visa duration, country-compliance payroll profile, currency split. (Any 3 of these.)
Q8.3 — End-of-contract repatriation: book return flight, hotel near airport, ground transfer.
Lab 9 — Q9.1, Q9.2
Q9.1 — SP allocates Employee Code, creates EmployeeReg, seeds ERD sections, kicks off probation, enrols in Induction Training.
Q9.2 — Status moves to No-Show on the OnboardingDeadline; Offer voided; Posting headcount restored.
Lab 10 — Q10.1, Q10.2
Q10.1 — Expired certifications block placement on roles requiring them (forklift, height-work, etc.).
Q10.2 — Onboarding template per Designation × Country × Contract Type maps Induction programs.
Lab 11 — Q11.1, Q11.2
Q11.1 — Before/after values, manager's userid, timestamp, reason.
Q11.2 — Payroll uses the corrected value but flags the run line for explanation.
Lab 12 — Q12.1, Q12.2
Q12.1 — Insufficient coverage means safety/operations risk — system blocks publish until resolved.
Q12.2 — Day auto-shifts to Off; if employee still worked, system flags potential holiday OT eligibility.
Lab 13 — Q13.1, Q13.2
Q13.1 — First-half (morning off) vs Second-half (afternoon off). Attendance roll-up combines actual punch + half-day leave to compute daily status.
Q13.2 — When duration exceeds threshold (default 5 days) — HR Head approval required.
Lab 14 — Q14.1, Q14.2, Q14.3
Q14.1 — All run lines reviewed (no unresolved outliers); pre-run checklist green.
Q14.2 — Process the regularization in the next run; or run an off-cycle adjustment with explanation.
Q14.3 — Configurable per bank — typically NEFT/RTGS/ACH CSV with EmpCode, BankAccount, IFSC, Net, Reference.
Lab 15 — Q15.1, Q15.2, Q15.3
Q15.1 — Offer Accept → Onboarding row; Onboarding Mark Joined → EmployeeReg + ERD; EmployeeReg active → eligible for Roster + Attendance + Payroll.
Q15.2 — Salary structure has effective dates; Payroll uses the structure effective on the run date and pro-rates by working-days/total-days for joiners/exits in the period.
Q15.3 — ActivityLog filtered by date — every Insert/Update/Delete with userid + timestamp.
Final assessment
MCQ 1: B. MCQ 2: B. MCQ 3: D. MCQ 4: B. MCQ 5: A.