Session 2026–2027
Good morning
Loading your recruitment snapshot…
Recruitment
Vacancy management
Add, close, or delete postings, jump straight to a post's exam setup, and see everything at a glance — including the vacancy ID, since a few other places (like exam CSV uploads) reference it directly.
| ID | Poster | Role | Department | Openings | Closes | Applications | Status | ||
|---|---|---|---|---|---|---|---|---|---|
| 1 | — | English Language TeacherClasses 6–8 | English | 1 | 08 Jul | 6 | Open |
Pipeline
Application pipeline
Every vacancy's applicants, grouped by stage — jump to one below if you like.
Recruitment
Closed Vacancies
Vacancies marked closed or filled — reopen one by unchecking "Closed" if you need to accept applicants again.
Candidate review
—
—
—
Personal details
Education
Experience
References
All applications
Assign exams
Documents
Actions
Recruitment
Search by Qualification
Find candidates by what's on their education and experience record — a degree, an institution, a subject they've taught, a previous employer — rather than by name. Shows exactly which entry on their record matched.
Search
Regional HR · All campuses
Campus network overview
Recruitment numbers across every BHS campus this session, plus vacancies awaiting your approval before they publish.
Pending vacancy approvals
Loading…
By campus
| Campus | Open vacancies | Active applications | Hired | Employee registrations | Status |
|---|---|---|---|---|---|
| Loading… | |||||
Recruitment
Interview scheduler
Every candidate currently at the interview stage, across every vacancy, sorted by the soonest scheduled date. To schedule or reschedule someone, open their profile from Candidate review or Pipeline.
| Candidate | Vacancy | Date | Time | Place |
|---|---|---|---|---|
| Loading… | ||||
New posting · MJS
Create vacancy
New postings are sent to Regional HR for approval before they appear on the public careers site.
Recruitment
Manage exams
A vacancy can have several named exams — e.g. "General Aptitude" and "Subject Test." Pick a vacancy, then pick or create a named exam, then upload its questions.
Named exams for this vacancy
Link an existing exam to this vacancy
Reuse an exam already created for another vacancy — no need to recreate it or re-upload its questions.
Recruitment
Uploaded exams
Every named exam across every vacancy you can see, in one place.
| Exam name | Vacancy | Questions | Duration | Created | |
|---|---|---|---|---|---|
| Loading… | |||||
Recruitment
Assign test
Every candidate application, with a quick way to assign an exam without opening their full profile. Candidates waiting for their first exam are listed first.
| Candidate | Vacancy | Status | Exams assigned | Assign an exam |
|---|---|---|---|---|
| Loading… | ||||
Recruitment
Exam results
Every candidate who has started or completed a screening exam, with their score, as soon as they submit.
| Candidate | Vacancy | Exam | Score | Status | Submitted | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Exam results
—
—
Regional HR · Public website
Site content
Edit every text block on the public landing page — hero, portal cards, section headings, and footer. Leave a field blank to keep the current default wording. Changes go live immediately once saved.
Header
Hero
Portal cards
"How it works" section
Vacancies & Branches sections
About section
Sidebar labels
Rename any item in the left-hand navigation. Leave a field blank to keep its current name.
Footer & Regional Secretariat
Parent Feedback Form
Every piece of text on the public Parent Feedback form — the intro, the 4 section titles, all 12 rating questions, the 4 open-ended questions, the recommendation choices, and the thank-you message.
Candidate Portal
Sidebar labels and page headers for the logged-in Candidate Portal.
Employee Portal
Sidebar labels and page headers for the logged-in Employee Portal.
Regional HR only · Recruitment
Offer Letter
Edit the wording that goes on every candidate's offer letter. Use {{position}} and
{{campus}} in the opening paragraph — they're replaced with the actual job title and
campus name for each candidate. Everything else (name, department, salary, probation terms) is filled
in automatically from the application and can't be edited here.
Wording
Preview — sample candidate
Recruitment
Issued Offer Letters
Every application that's had an offer extended — download the letter, whatever happened to it since.
| Candidate | Position | Campus | Salary Offered | Status | |
|---|---|---|---|---|---|
| Loading… | |||||
Regional HR only · Academics
Timetable
Classes, sections, subjects, lesson-time schedules, and the timetable itself.
Classes
| Name | Order | Has timetable? | Split lessons? | |
|---|---|---|---|---|
| Loading… | ||||
Add a class
Sections — select a class
| Name | Campus | Class Incharge | |
|---|---|---|---|
| Select a class on the left. | |||
Regional HR · Staff access
HR accounts
Create and review HR dashboard accounts. Branch HR can also self-register below — those registrations stay pending until you approve them here.
Existing accounts
| Name | Role | Campus | Status | |||
|---|---|---|---|---|---|---|
| Loading… | ||||||
Create a new HR account
Regional HR · Access control
Roles & Rights
Create HR dashboard accounts here. To control which modules each role can access, see the Rights Matrix tab.
Create a new HR account
Their login email and this password get emailed to them automatically — they'll be required to set a new password the first time they log in.
Grant HR access to an existing employee
For someone who already has an Employee Portal login and just needs HR dashboard access too — this uses their existing name and email rather than creating a separate identity. Set a password here and hand it to them directly (this doesn't email it automatically).
Grant Branch HR delegate access (Employee Portal login)
Same idea as Timetable HR, but for Branch HR duties — no separate account or password at all. The employee logs into the Employee Portal as usual and gets a "Branch HR Dashboard" link there. Phase 1 covers Vacancy Management, Pipeline, Candidate Review, Interview Scheduler, Employee Requests review, and Employee Details — not the full Branch HR feature set yet.
Grant Employee Records access (Employee Portal login)
A standalone role, separate from Branch HR and Timetable delegate access — lets an employee edit Name + Initials for every employee at their OWN branch, through their existing Employee Portal login. Nothing else: no vacancies, no requests, no other admin pages.
Grant Employee Core Data access (Employee Portal login)
A standalone role — lets an employee correct Name, Designation, and Date of Joining for every employee at their OWN branch, through their existing Employee Portal login. Each employee's record can only be saved ONCE this way — it locks itself immediately after saving, and stays locked (even for this same delegate) until you unlock it below.
Unlock an employee's core data
Once a delegate saves an employee's Name/Designation/Date of Joining above, that record locks. Pick the employee here to unlock it for one more save.
Grant Registration Approval access (Employee Portal login)
A standalone role, separate from Branch HR and Employee Records delegate access — lets an employee approve or reject pending Employee Portal registration requests for their OWN campus only, through their existing Employee Portal login. Nothing else: no vacancies, no pipeline, no other admin pages.
Grant Attendance ID Assignment access (Employee Portal login)
A standalone role, separate from every other delegate access — lets an employee enter/assign biometric attendance Employee Ids for staff at their OWN campus only (Missing Attendance IDs + bulk Assign Attendance IDs), through their existing Employee Portal login. Nothing else: no vacancies, no requests, no other admin pages.
Grant Domestic Staff access (Employee Portal login)
A standalone role, separate from Branch HR and every other delegate access — lets an employee add domestic/lower staff (and bulk-import them from CSV) for their OWN campus only, through their existing Employee Portal login. Never grants an Employee Portal login to anyone they add — nothing else: no vacancies, no requests, no other admin pages.
Grant Timetable Management access (Employee Portal login)
Same idea as Branch HR and Employee Records delegate access — no separate account or password. Check whichever tabs this employee should see and use in their Employee Portal's "Timetable Management" section, scoped to their own campus. Leaving all boxes unchecked removes their access entirely.
Regional HR · Access control
Employee Groups
Create a group, add members from any campus, and pick which rights the group grants. Every member gets those rights automatically — for their own campus, same as an individual grant — and it stays in effect for as long as they're in the group.
Groups
| Name | Members | Rights granted | Created | |
|---|---|---|---|---|
| Loading… | ||||
Regional HR · Access control
Rights Matrix
Check a box to grant that module to that role; uncheck to remove it. Branch User is the most limited tier — new modules start locked out for it until you grant them here. Branch HR keeps today's access until you actually uncheck something. Regional HR always has full access to everything and isn't editable here, so the system can never be locked out. Nothing saves until you click "Save rights" below.
Rights matrix
| Module | Branch User | Branch HR | Regional HR |
|---|---|---|---|
| Loading… | |||
Regional HR · Candidate accounts
Candidate Passwords
Reset any candidate's password directly, or handle candidates who've asked for help getting back into their account.
Test email delivery
Password resets, interview invites, and offer letters all depend on outgoing email actually working. Send yourself a test to confirm it does — if it fails, this shows the real reason instead of a generic error.
Password reset requests
0 requestsCandidates who used "Still can't get in?" on the login screen because their emailed reset link never worked out for them.
| Login Type | Name | Branch | Requested | Times asked | ||
|---|---|---|---|---|---|---|
| Loading… | ||||||
Reset any candidate's password
Regional HR · Candidate accounts
Candidate Login
Every registered candidate account. Deactivating blocks future logins immediately without touching their history — it can be reversed any time. Deleting is permanent and removes their login, biodata, uploaded documents, and every application (with its exam history) beyond recovery.
| Name | Account type | Login email | CNIC | Mobile | Applications | Created | Login status | ||
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
Regional HR · Public website
Branches
Add or edit campus branches with their full details. Only branches saved here are shown on the public landing page's Branches section.
All branches
| Order | Code | Name | Postal address | Phone | Google location | On site? | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||||
Add or update a branch
Saving a branch here publishes it to the public site. Using an existing code updates that branch instead of creating a new one.
Your campus
Edit Branch Profile
Keep your campus's contact details and social links up to date. Branch name, code, and public visibility are managed by Regional HR.
—
Staff records
Employees
Registrations awaiting approval, and the active staff directory. Branch HR sees their own campus; Regional HR sees every campus. Only Regional HR can approve or reject.
Pending registrations
| Name | Campus | Designation | Submitted | ||
|---|---|---|---|---|---|
| Loading… | |||||
Active staff directory
| Name | Initials | Campus | Portal Access | ||
|---|---|---|---|---|---|
| Loading… | |||||
Staff records
Add Domestic Staff
For domestic/lower staff whose data you want on file but who should never get an Employee Portal login — no email required. Their record still counts as active staff everywhere else in the system, and can be upgraded to a full portal login later from the Employees page.
Import domestic staff from CSV
Required columns: Full Name, Branch Code. Optional: Email, CNIC, Mobile, Designation, Department, Date of Joining, Employee ID. Column order doesn't matter. No Employee Portal login is ever created — existing emails/CNICs/Employee IDs are skipped, never overwritten.
Domestic staff directory
| Name | Campus | Employee ID | Designation | Department | Mobile | ||
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Staff records
Employee Profile Completion Report
Every registered employee, grouped by campus, with a profile completion percentage based on personal details, required documents, and education on file.
Loading…
Staff records
Appointment Letter
Choose the region, campus and employee, fill in the terms, check the preview, then issue. Every issued letter gets its own reference number and is saved below for reprinting.
1 · Choose the employee
Issued appointment letters
| Reference | Employee | Designation | Campus | Date of joining | Issued | By | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Staff records
Upcoming Birthdays
Every active employee with a birthday in the date range below — sorted by how soon it actually falls, not just by calendar order. Same birth date data the automatic birthday emails already use.
Results
| Name | Campus | Designation | Birthday | Days until | Birthday wish |
|---|---|---|---|---|---|
| Loading… | |||||
Staff records
View Employee Core Data
Name, Designation, and Date of Joining for every employee, plus whether their record has been saved-and-locked through the Employee Core Data delegate tool yet. Read-only — grant or unlock access from Roles & Rights.
| Name | Designation | Date of Joining | Campus | Status |
|---|---|---|---|---|
| Loading… | ||||
Staff records
Employee Details
How many employees have registered per campus, broken down by status.
Loading…
Staff records
Assign Initials
Pick a campus, fill in as many Initials as you like, then save them all in one click. Initials must be unique within a campus.
| Name | Designation | Initials | |
|---|---|---|---|
| Select a campus to begin. | |||
Staff development
Trainings & Certificates
Create training events, review employee registrations, and approve them to unlock a downloadable certificate in each employee's portal.
| Name | Session | Open to | Pending | Approved | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Staff records
Employee Logins
Login details for approved employee accounts. Deactivating blocks future logins immediately — it does not touch their profile, requests, or history, and can be reversed any time.
| Name | Login email | Campus | Designation | Login status | |
|---|---|---|---|---|---|
| Loading… | |||||
Staff records
Employee requests
Leave applications, transfer requests, loan applications, salary revision requests, and Missing Biometric requests. Most go Employee → Branch HR → Regional HR, with Branch HR reviewing first — except Missing Biometric, where Branch HR's decision is final.
| Employee | Campus | Type | Submitted | Details | Documents | Status | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Regional HR only
Employee feedback
Complaints, suggestions, and feedback go straight to Regional HR — never through Branch HR — so employees can raise something about their own branch freely.
| Employee | Campus | Type | Submitted | Subject & message | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Staff records
Profile update history
A read-only log of updates employees have made to their own profiles through the Employee Portal. These apply immediately — nothing here needs action.
| Employee | Campus | Submitted | Changes |
|---|---|---|---|
| Loading… | |||
Candidate Portal Content
PTE Preparation
Manage the lesson library, practice question bank, and mock tests candidates see in the Candidate Portal's PTE Preparation module.
Lessons
| Section | Title | Published | |
|---|---|---|---|
| Loading… | |||
Question Bank
| Section | Type | Title | Difficulty | Mock-eligible | Published | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Mock Tests
| Title | Questions | Active | |
|---|---|---|---|
| Loading… | |||
Parent Feedback
Parent Feedback
Submissions from the public Parent Feedback form. Branch HR sees their own campus; Regional HR sees every campus.
Loading…
Training Feedback
Training Feedback
Add participants directly to a training — no self-registration or approval needed — and it becomes available for them to give feedback on through their own Employee Portal. Review what they submit here.
Regional HR only · Payroll
Import Employee Salary
Upload a monthly salary sheet as CSV. Rows are matched to employees by name automatically — anything that couldn't be matched is still imported, just flagged, so nothing from the sheet is lost. Re-uploading the same period replaces its data.
Upload a salary sheet
Expected columns — Pay Head: Sr.#, Employee Name, Basic Salary, Other Benefit, House Rent, Medical Allowance, Leave Encashment, Entertainment. Deduction Head: Advance/Security, EOBI, Medical Card, Absent Deduction, Income Tax, Other Deduction. Plus: Gross Salary, Benefit/Deduction Reason, Net Salary, Days. Column order doesn't matter. Choosing a campus scopes name-matching to that campus's staff, and only replaces that campus's data for the period on re-upload — leave it on "All campuses" for one combined sheet spanning every branch.
Imported periods
| Period | Campus | Rows | Unmatched | Slips | Last imported | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Regional HR only · Payroll
Generate Salary Slip
Pick a period, then either one employee, or a whole campus at once — both read straight from that period's current imported salary data, no separate entry needed.
Leave Campus on "All campuses" to generate one employee's slip from anywhere, or pick a specific campus and use "Generate for entire campus" to print every matched employee's slip there in one go.
Regional HR only · Payroll
Generate Employment Certificate
Pick an employee — salary figures are pulled automatically from their most recently generated salary slip, no separate entry needed.
Employee self-service access
Off by default for every campus. Check a campus below to let its own employees generate their own certificate from the Employee Portal — this doesn't affect your own ability to generate any employee's certificate here, which always works regardless.
Regional HR only · Payroll
Import Attendance
Fetch directly from payroll.bhssite.com, or upload a per-branch CSV. Rows are matched to employees by Employee Id — the first time an Employee Id can't be matched, use Rematch to link it to the right employee once; every later import for that person auto-matches from then on.
Every mapped campus (see Branch Mapping) can also sync automatically every 15
minutes via a scheduled cron job — see cron_import_attendance.php for setup. Rows imported
that way show as Auto (15-min) below,
separate from a manual click of "Fetch & import".
Fetch from payroll.bhssite.com
Logs into the biometric attendance report directly and pulls this range for one campus. Same matching and status rules as a CSV upload.
Upload a branch's attendance sheet
Expected columns: Employee Id, Employee Name, Date (DD/MM/YYYY), Time In, Time Out. Time In/Out are imported as-is — a blank stays blank. If both are blank for a row, that employee is marked Absent for that date. Uploading a range that overlaps a previous import updates those dates in place.
Imported ranges
| Campus | Date range | Source | Rows | Unmatched | Absent | Imported | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Regional HR only · Payroll
Assign Attendance IDs
Pick a campus to load its active staff, enter each person's biometric Employee Id from payroll.bhssite.com, then save the whole list in one click. Leave a box blank to skip that employee — it won't clear an ID they already have.
Regional HR only · Payroll
Branch Mapping
payroll.bhssite.com's branch names don't line up with BHS-RMS campus codes. Link each one below, once — "Fetch from Site" on the Import Attendance page uses this mapping to know which payroll branch to pull. This list is read live from payroll.bhssite.com each time you open this page.
Branches
| payroll.bhssite.com branch | BHS-RMS campus |
|---|---|
| Loading… | |
Payroll
Daily Attendance Report
Biometric attendance for one campus, one selected date.
Monthly Attendance Reports
Payroll month: the 25th of one month to the 24th of the next. Missed Sign-in / Sign-out covers everyone except lower staff. Late Arrivals covers everyone except lower staff, Monday to Friday only — signing in after 07:45 AM counts as late (Saturdays are not counted).
Payroll
Missing Attendance IDs
Active employees not yet linked to a biometric Employee Id — their attendance can't be imported until they're set, either here or via Rematch on an unmatched import row.
Employees
| Name | Campus | Designation | Employee Id |
|---|---|---|---|
| Loading… | |||
Resources
Downloads
Blank CSV templates for every bulk-import feature in the system, ready to fill in and upload. Each one has the exact column headers that feature expects.
Download everything at once
Downloads all 4 templates below in one click. Your browser may ask to allow multiple downloads the first time.
Employee Import template
For the Employees page's "Import employees from CSV." Required: Full Name, Email, Branch Code. Everything else — CNIC, Mobile, Designation, Department, Date of Joining, Password, and full profile fields — is optional.
Domestic Staff Import template
For the "Add Domestic Staff" page's CSV import. Required: Full Name, Branch Code. Everything else — Email, CNIC, Mobile, Designation, Department, Date of Joining, Employee ID — is optional. Never creates an Employee Portal login.
Salary Import template
For "Import Employee Salary." Pay Head: Basic Salary, Other Benefit, House Rent, Medical Allowance, Leave Encashment, Entertainment. Deduction Head: Advance/Security, EOBI, Medical Card, Absent Deduction, Income Tax, Other Deduction.
Exam Questions template
For "Manage exams" → uploading a question bank. Columns: question_text, option_a–d, correct_option (a/b/c/d), and an optional marks column. At least 30 valid rows are needed for a full exam (50 recommended).
Resources
What's New
A running list of what's changed on this dashboard. Regional HR can also pick which items show as a login popup and how long it should keep appearing — while active, it shows on every login, not just once, so it's worth genuinely reaching everyone by a deadline.
Loading…