Exercise Workbook

Folks HR — Training & Hands-on Labs

Version 1.0  |  May 2026  |  MasGen Innovations

15 Labs · 12–15 Hours · Final Assessment Included
00

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

  1. You have a working login with SuperAdmin or a fully-scoped HR-Admin role.
  2. The API and FE are both running — locally or against the UAT environment.
  3. The DB Folkshr_V1 (or local FolksHR_MasGen_V1) is reachable and seeded.
  4. Have a notebook to record codes (Resume IDs, Posting Codes, Application IDs, Employee Codes, Payroll Run Codes) — these flow through later labs.
  5. Optional: a sample CV PDF for upload, a sample candidate photo, and a sample medical certificate.

Skill levels

Foundation — Labs 1–3

Anyone can do these. Login, resume intake, talent search.

Intermediate — Labs 4–7, 9–11, 13

Recruitment cycle, onboarding, training, attendance, leave.

Advanced — Labs 8, 12, 14–15

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.

Tip. Don't skim — actually do the steps. Codes from early labs (Resume, Application, Employee) appear in later ones.
01

Lab 1 — System orientation

Foundation

Log in, walk the four module groups (Recruit / Onboard / Operate / Pay), confirm your role.

Foundation 30 minutes Goal: orient yourself Pre-req: working login

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?
02

Lab 2 — Resume intake & tagging

Foundation

Upload three CVs, observe parsing, and add manual tags where parsing missed.

Foundation 35 minutes Goal: top-of-funnel Pre-req: Lab 1

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?
03

Lab 3 — Talent Pool search & segments

Foundation

Build a saved search for "Senior C# developers in UAE with 5+ years".

Foundation 30 minutes Goal: search & segments Pre-req: Lab 2

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?
04

Lab 4 — Posting Request + approval

Intermediate

Raise a posting for a Software Engineer at HQ; submit; switch role and approve.

Intermediate 40 minutes Goal: posting cycle Pre-req: Lab 1

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?
05

Lab 5 — Candidate Mobile experience

Intermediate

Open the candidate-mobile portal; self-register; apply to the posting from Lab 4; upload documents.

Intermediate 35 minutes Goal: applicant POV Pre-req: Lab 4

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?
06

Lab 6 — Schedule + run an Interview

Intermediate

Schedule a 2-round interview, simulate panel feedback, decide disposition.

Intermediate 45 minutes Goal: interview cycle Pre-req: Lab 5

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?
07

Lab 7 — Offer + acceptance

Intermediate

Generate an offer, get HR Head approval, send it, simulate candidate acceptance.

Intermediate 35 minutes Goal: offer cycle Pre-req: Lab 6

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?
08

Lab 8 — Overseas hire (visa + mobilisation)

Advanced

Run a parallel hire for a UAE site from an India-based candidate; track visa and arrange flight + hotel.

Advanced 60 minutes Goal: cross-border hire Pre-req: Labs 4, 7

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?
09

Lab 9 — Onboarding checklist

Intermediate

For your domestic hire from Lab 7, complete each checklist item, allocate Employee Code, flip to Joined.

Intermediate 45 minutes Goal: complete onboarding Pre-req: Lab 7

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?
10

Lab 10 — Industrial Training cycle

Intermediate

Enrol your new joiner into the Induction program; mark attendance for 3 days; record assessment; issue certificate.

Intermediate 35 minutes Goal: training cycle Pre-req: Lab 9

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?
11

Lab 11 — Attendance + Regularization

Intermediate

Inspect today's roll-up, simulate a missed punch, raise + approve a regularization.

Intermediate 35 minutes Goal: attendance flow Pre-req: Lab 9

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?
12

Lab 12 — Duty Roster build + swap

Advanced

Build a 1-week roster for an Operations site, run a coverage check, process a swap.

Advanced 50 minutes Goal: roster cycle Pre-req: Lab 11

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?
13

Lab 13 — Leave application + approval

Intermediate

Apply for 3 days of Annual Leave; manager approves; balance debited; attendance overridden.

Intermediate 30 minutes Goal: leave cycle Pre-req: Lab 9

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?
14

Lab 14 — Payroll Run + payslip

Advanced

Run payroll for a small group (10 employees); review outliers; approve; generate payslips and bank file.

Advanced 60 minutes Goal: payroll cycle Pre-req: Labs 11, 13

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?
15

Lab 15 — Hire-to-payslip end-to-end

Advanced

Bring it all together. One scenario, from CV intake to payslip credited, touching every module.

Advanced 90 minutes Goal: full hire-to-pay Pre-req: Labs 1–14

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?
A

Final Assessment

Closed-book — 30 minutes

Five MCQs, five short-answer questions, one practical. The User Manual is fair game.

MCQ 1

What auto-creates when an Offer is Accepted?

  • A An Employee row
  • B An Onboarding row
  • C A Payroll Run
  • D A Visa Application
MCQ 2

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
MCQ 3

Mobilisation cannot start until visa status is …

  • A Initiated
  • B Documents Submitted
  • C Under Review
  • D Issued
MCQ 4

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
MCQ 5

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

  1. Why is the recruitment flow split into Resume → PostReq → IntDes → Offer — what's each one's responsibility?
  2. Difference between domestic and overseas postings — name three.
  3. Trace a piece of attendance data from biometric punch to payslip — name the touchpoints.
  4. What's the carry-forward / encashment logic at year-end?
  5. 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.

K

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.3UserRolePrivileges for that SubMenuID is missing.

Lab 2 — Q2.1, Q2.2, Q2.3

Q2.1ResumeSkill, 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.1Application — 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.2OfferValidityDays (default 7).

Q7.3 — Same as Declined — Application closed; CV remains in Talent Pool.

Lab 8 — Q8.1, Q8.2, Q8.3

Q8.1Issued.

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.3ActivityLog 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.

Done. Hand the trainer your codes-notebook with all CV/Application/Offer/Employee/Run codes plus the printed payslip from Lab 14. Status reference →